我的印象是下面的概念可以工作,但是$foo的新值不能在函数之间传递。正确的做法是什么?
class doSomething
{
public $foo = "good";
public function changeFooAgain()
{
$this->foo = "best";
}
public function changeFoo()
{
$this->foo = "better";
}
public function getFoo()
{
$this->changeFoo();
$this->changeFooAgain();
return $this->foo;
}
}
$foo = new doSomething;
print $foo->getFoo();
我的印象是:
- 你的代码是正确的
- 每个方法都在访问
foo
属性。
如果我执行你的代码:
-
getFoo()
方法被执行 反过来, -
changeFoo()
方法被执行——foo
现在是better
- 和
changeFooAgain()
方法被执行——foo
现在是best
-
- 和
best
(这是分配给foo
属性的最后一个值)显示
getFoo()
返回foo
属性的当前值