mirror of
https://github.com/php/php-src.git
synced 2024-10-19 15:34:25 +00:00
52 lines
968 B
PHP
52 lines
968 B
PHP
--TEST--
|
|
Bug #43831 ($this gets mangled when extending PDO with persistent connection)
|
|
--FILE--
|
|
<?php
|
|
|
|
class Foo extends PDO {
|
|
function __construct($dsn) {
|
|
parent::__construct($dsn, null, null, array(PDO::ATTR_PERSISTENT => true));
|
|
}
|
|
}
|
|
|
|
class Baz extends PDO {
|
|
function __construct($dsn) {
|
|
parent::__construct($dsn, null, null, array(PDO::ATTR_PERSISTENT => true));
|
|
}
|
|
}
|
|
|
|
class Bar extends Baz {
|
|
function quux() {
|
|
echo get_class($this), "\n";
|
|
$foo = new Foo("sqlite::memory:");
|
|
echo get_class($this), "\n";
|
|
}
|
|
}
|
|
|
|
$bar = new Bar("sqlite::memory:");
|
|
$bar->quux();
|
|
|
|
|
|
class MyPDO extends PDO {}
|
|
|
|
$bar = new PDO("sqlite::memory:", null, null, array(PDO::ATTR_PERSISTENT => true));
|
|
$baz = new MyPDO("sqlite::memory:", null, null, array(PDO::ATTR_PERSISTENT => true));
|
|
|
|
var_dump($bar);
|
|
unset($bar);
|
|
var_dump($baz);
|
|
var_dump($bar);
|
|
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Bar
|
|
Bar
|
|
object(MyPDO)#%d (0) {
|
|
}
|
|
object(MyPDO)#%d (0) {
|
|
}
|
|
|
|
Notice: Undefined variable: bar in %s on line %d
|
|
NULL
|