在类内部的函数之间传递变量的更新值


passing updated value of variable between functions inside of a class

我的印象是下面的概念可以工作,但是$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
  • getFoo()返回foo属性的当前值
  • best (这是分配给foo属性的最后一个值)显示