我提出另一个问题,因为我认为人们不理解我的老问题:
IE:
class Father {
protected $body;
function __construct()
{
}
public function run()
{
$this->change();
$this->change2();
}
private function change()
{
$this->body = 'new value';
}
private function change2()
{
$this->body = str_replace('value','........','new value');
}
}
class Child extends Father {
function __construct()
{
echo $this->body;
}
}
$father = new Father();
$father->run();
$child = new Child();
body 为空,我需要继续更改 Child 类中的这个变量 body 但它为空,我认为唯一的解决方案是将 body 设置为静态。
很抱歉问了一个类似的问题,但我试图理解它。
编辑:如果我将所有这些 run 方法的代码放在 __construct 和子类调用 parent::__construct() 中,它将再次进行这些更改,我不能再这样做了,因为我需要继续在子类中更改它。