Annotation of embedaddon/php/ext/pdo_sqlite/tests/bug43831.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #43831 ($this gets mangled when extending PDO with persistent connection)
3: --SKIPIF--
4: <?php if (!extension_loaded('pdo_sqlite')) print 'skip not loaded'; ?>
5: --FILE--
6: <?php
7:
8: class Foo extends PDO {
9: function __construct($dsn) {
10: parent::__construct($dsn, null, null, array(PDO::ATTR_PERSISTENT => true));
11: }
12: }
13:
14: class Baz extends PDO {
15: function __construct($dsn) {
16: parent::__construct($dsn, null, null, array(PDO::ATTR_PERSISTENT => true));
17: }
18: }
19:
20: class Bar extends Baz {
21: function quux() {
22: echo get_class($this), "\n";
23: $foo = new Foo("sqlite::memory:");
24: echo get_class($this), "\n";
25: }
26: }
27:
28: $bar = new Bar("sqlite::memory:");
29: $bar->quux();
30:
31:
32: class MyPDO extends PDO {}
33:
34: $bar = new PDO("sqlite::memory:", null, null, array(PDO::ATTR_PERSISTENT => true));
35: $baz = new MyPDO("sqlite::memory:", null, null, array(PDO::ATTR_PERSISTENT => true));
36:
37: var_dump($bar);
38: unset($bar);
39: var_dump($baz);
40: var_dump($bar);
41:
42:
43: ?>
44: --EXPECTF--
45: Bar
46: Bar
47: object(MyPDO)#%d (0) {
48: }
49: object(MyPDO)#%d (0) {
50: }
51:
52: Notice: Undefined variable: bar in %s on line %d
53: NULL
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>