2005-04-23 23:21:07 +08:00
|
|
|
--TEST--
|
|
|
|
Bug #29674 (inherited method doesn't have access to private variables of the derived class)
|
|
|
|
--FILE--
|
|
|
|
<?php
|
|
|
|
|
|
|
|
class BaseClass
|
|
|
|
{
|
2020-02-04 05:52:20 +08:00
|
|
|
private $private_base = "Base";
|
2018-09-17 01:16:42 +08:00
|
|
|
|
2020-02-04 05:52:20 +08:00
|
|
|
function printVars ()
|
|
|
|
{
|
|
|
|
var_dump($this->private_base);
|
|
|
|
var_dump($this->private_child);
|
|
|
|
}
|
2005-04-23 23:21:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
class ChildClass extends BaseClass
|
|
|
|
{
|
2020-02-04 05:52:20 +08:00
|
|
|
private $private_child = "Child";
|
2005-04-23 23:21:07 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
echo "===BASE===\n";
|
|
|
|
$obj = new BaseClass;
|
|
|
|
$obj->printVars();
|
|
|
|
|
|
|
|
echo "===CHILD===\n";
|
|
|
|
$obj = new ChildClass;
|
|
|
|
$obj->printVars();
|
|
|
|
|
|
|
|
?>
|
|
|
|
===DONE===
|
|
|
|
--EXPECTF--
|
|
|
|
===BASE===
|
|
|
|
string(4) "Base"
|
|
|
|
|
2019-10-01 19:20:42 +08:00
|
|
|
Warning: Undefined property: BaseClass::$private_child in %s on line %d
|
2005-04-23 23:21:07 +08:00
|
|
|
NULL
|
|
|
|
===CHILD===
|
|
|
|
string(4) "Base"
|
|
|
|
|
2015-05-18 06:31:43 +08:00
|
|
|
Fatal error: Uncaught Error: Cannot access private property ChildClass::$private_child in %sbug29674.php:%d
|
2015-05-16 03:04:07 +08:00
|
|
|
Stack trace:
|
|
|
|
#0 %s(%d): BaseClass->printVars()
|
|
|
|
#1 {main}
|
|
|
|
thrown in %sbug29674.php on line %d
|