mirror of
https://github.com/php/php-src.git
synced 2024-11-24 02:15:04 +08:00
a555cc0b3d
Remove most of the `===DONE===` tags and its variations. Keep `===DONE===` if the test output otherwise becomes empty. Closes GH-4872.
36 lines
918 B
PHP
36 lines
918 B
PHP
--TEST--
|
|
Inherited static properties cannot be separated from their reference set.
|
|
--FILE--
|
|
<?php
|
|
class C { public static $p = 'original'; }
|
|
class D extends C { }
|
|
class E extends D { }
|
|
|
|
echo "\nInherited static properties refer to the same value across classes:\n";
|
|
var_dump(C::$p, D::$p, E::$p);
|
|
|
|
echo "\nChanging one changes all the others:\n";
|
|
D::$p = 'changed.all';
|
|
var_dump(C::$p, D::$p, E::$p);
|
|
|
|
echo "\nReferences cannot be used to split the properties:\n";
|
|
$ref = 'changed.one';
|
|
D::$p =& $ref;
|
|
var_dump(C::$p, D::$p, E::$p);
|
|
?>
|
|
--EXPECT--
|
|
Inherited static properties refer to the same value across classes:
|
|
string(8) "original"
|
|
string(8) "original"
|
|
string(8) "original"
|
|
|
|
Changing one changes all the others:
|
|
string(11) "changed.all"
|
|
string(11) "changed.all"
|
|
string(11) "changed.all"
|
|
|
|
References cannot be used to split the properties:
|
|
string(11) "changed.one"
|
|
string(11) "changed.one"
|
|
string(11) "changed.one"
|