我正在尝试设置一个属性并让它在多个类中可用。我设置属性并从它设置的方法中回显它并给出设置值,但是当我从另一个方法使用var_dump
时它会说它为空。任何人都可以指出我做错了什么?输出为BLAHNULL
提前致谢
Class Process {
public $failed;
public function setFailed($failed) {
$this->failed = $failed;
echo $this->failed;
}
public function showFailed() {
$geocode = new Geocode;
$geocode->geoCodeAddress();
var_dump($this->failed);
}
}
Class Geocode {
public function geoCodeAddress() {
$process = new Process;
$process->setFailed('BLAH');
}
}
$test = new Process;
$test->showFailed();
答案 0 :(得分:1)
你没有附上你的输出,但是我假设它看起来像这样:BLAHNULL
$failed
变量是一个实例变量。对于每个"过程"它是不同的。你做的。
当您调用showFailed时,它会生成一个地理编码,而地理编码又会生成一个新进程。然后,该过程在设置后回显其BLAH
状态。退出geoCodeAddress后,将打印原始外部Process的失败状态,该状态为null。