次のPHPクラスのサンプルセットアップがある場合...
class foo {
public $x = 2;
public function getX() {
return $this->x;
}
public function setX($val) {
$this->x = $val - $this->x;
return $this;
}
}
$X = (new foo)->setX(20)->getX();
どうして ->getX(); が必要なのですか? 18を取得するために、オブジェクトの開始プロセスの最後の部分?public getX() 関数を隠して書くことができないのはなぜですか...
$X = (new foo)->setX(20);
echo $X; // and show 18 without errors.
代わりに、エラーがスローされ、次のように表示されます...
Catchable fatal error: Object of class foo could not be converted to string in C:\...
$this->x
public を参照していません$x = 2
か? なぜ Public function に依存しているのか、少し混乱していると思いますgetX()
。事前にご理解いただきありがとうございます。