mirror of
https://github.com/php/php-src.git
synced 2024-10-02 07:16:11 +00:00
45 lines
743 B
PHP
45 lines
743 B
PHP
--TEST--
|
|
Bug #49719 (ReflectionClass::hasProperty returns true for a private property in base class)
|
|
--FILE--
|
|
<?php
|
|
|
|
class A {
|
|
private $a;
|
|
}
|
|
class B extends A {
|
|
private $b;
|
|
}
|
|
|
|
try {
|
|
$b = new B;
|
|
$ref = new ReflectionClass($b);
|
|
|
|
var_dump(property_exists('b', 'a'));
|
|
var_dump(property_exists($b, 'a'));
|
|
var_dump($ref->hasProperty('a'));
|
|
var_dump($ref->getProperty('a'));
|
|
} catch (Exception $e) {
|
|
var_dump($e->getMessage());
|
|
}
|
|
|
|
class A2 {
|
|
private $a = 1;
|
|
}
|
|
|
|
class B2 extends A2 {
|
|
private $a = 2;
|
|
}
|
|
|
|
$b2 = new ReflectionClass('B2');
|
|
$prop = $b2->getProperty('a');
|
|
$prop->setAccessible(true);
|
|
var_dump($prop->getValue(new b2));
|
|
|
|
?>
|
|
--EXPECTF--
|
|
bool(false)
|
|
bool(false)
|
|
bool(false)
|
|
%string|unicode%(25) "Property a does not exist"
|
|
int(2)
|