mirror of
https://github.com/php/php-src.git
synced 2024-11-28 12:26:37 +08:00
317b48f3af
- Fixed bug #45862 (get_class_vars is inconsistent with 'protected' and 'private' variables) - Added some tests
50 lines
642 B
PHP
50 lines
642 B
PHP
--TEST--
|
|
get_class_vars(): Testing the scope
|
|
--FILE--
|
|
<?php
|
|
|
|
class A {
|
|
public $a = 1;
|
|
private $b = 2;
|
|
private $c = 3;
|
|
}
|
|
|
|
class B extends A {
|
|
static public $aa = 4;
|
|
static private $bb = 5;
|
|
static protected $cc = 6;
|
|
}
|
|
|
|
class C extends B {
|
|
public function __construct() {
|
|
var_dump(get_class_vars('A'));
|
|
var_dump(get_class_vars('B'));
|
|
|
|
var_dump($this->a, $this->b, $this->c);
|
|
}
|
|
}
|
|
|
|
new C;
|
|
|
|
?>
|
|
--EXPECTF--
|
|
array(1) {
|
|
["a"]=>
|
|
int(1)
|
|
}
|
|
array(3) {
|
|
["a"]=>
|
|
int(1)
|
|
["aa"]=>
|
|
int(4)
|
|
["cc"]=>
|
|
int(6)
|
|
}
|
|
|
|
Notice: Undefined property: C::$b in %s on line %d
|
|
|
|
Notice: Undefined property: C::$c in %s on line %d
|
|
int(1)
|
|
NULL
|
|
NULL
|