mirror of
https://github.com/php/php-src.git
synced 2024-12-18 06:21:41 +08:00
e8430b592f
While normally a private property in the active scope would take priority, we should not use this if it has the wrong "staticness".
61 lines
1.2 KiB
PHP
61 lines
1.2 KiB
PHP
--TEST--
|
|
Bug #79862: Public non-static property in child should take priority over private static
|
|
--FILE--
|
|
<?php
|
|
|
|
class a {
|
|
private static $prop1;
|
|
private static $prop2;
|
|
private $prop3;
|
|
private $prop4;
|
|
private static $prop5;
|
|
private static $prop6;
|
|
public function __construct() {
|
|
$this->prop1 = 1;
|
|
$this->prop2 = 2;
|
|
$this->prop3 = 3;
|
|
$this->prop4 = 4;
|
|
$this->prop5 = 5;
|
|
$this->prop6 = 6;
|
|
var_dump(self::$prop1);
|
|
var_dump(self::$prop2);
|
|
var_dump(self::$prop5);
|
|
var_dump(self::$prop6);
|
|
var_dump($this);
|
|
}
|
|
}
|
|
class c extends a {
|
|
public $prop1;
|
|
protected $prop2;
|
|
public static $prop3;
|
|
protected static $prop4;
|
|
public static $prop5;
|
|
protected static $prop6;
|
|
}
|
|
|
|
$c = new c;
|
|
|
|
?>
|
|
--EXPECTF--
|
|
Notice: Accessing static property c::$prop5 as non static in %s on line %d
|
|
|
|
Notice: Accessing static property c::$prop6 as non static in %s on line %d
|
|
NULL
|
|
NULL
|
|
NULL
|
|
NULL
|
|
object(c)#1 (6) {
|
|
["prop1"]=>
|
|
int(1)
|
|
["prop2":protected]=>
|
|
int(2)
|
|
["prop3":"a":private]=>
|
|
int(3)
|
|
["prop4":"a":private]=>
|
|
int(4)
|
|
["prop5"]=>
|
|
int(5)
|
|
["prop6"]=>
|
|
int(6)
|
|
}
|