コード例 #1
0
ファイル: bug48773.php プロジェクト: badlamer/hhvm
<?php

class bar extends PDOStatement
{
    private function __construct()
    {
    }
}
class foo extends PDO
{
    public $statementClass = 'bar';
    function __construct($dsn, $username, $password, $driver_options = array())
    {
        $driver_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
        parent::__construct($dsn, $username, $password, $driver_options);
        $this->setAttribute(PDO::ATTR_STATEMENT_CLASS, array($this->statementClass, array($this)));
    }
}
$db = new foo('sqlite::memory:', '', '');
$stmt = $db->query('SELECT 1');
var_dump($stmt);