1
我知道這個操作是如何工作的( - >),但我只是好奇。正如你可以從下面的代碼中看到的,當你在一個類中使用它時,它就像這樣$this->$name
,但是在類之外它就像$a->attribute
。那麼爲什麼第一個使用兩個美元符號($),但第二個只使用一個美元符號呢?我很好奇。我可以忽略它,但它讓我感到緊張。使用此操作 - >內部和外部類
<?php
class classname
{
public $attribute;
public function __get($name)
{
return $this->$name;
}
}
$a = new classname();
$a->attribute = "Hello";
echo $a->attribute;
?>
預先感謝您
因爲在魔法'__get()'方法中,'$ name'的值是___dynamic___ –
'$ this - > $ name'實際上是一個[variable variable]的形式(http://php.net) /manual/en/language.variables.variable.php)來動態訪問對象屬性。如果輸入'$ name'是''foo'',則會導致'$ this-> foo'或'bar''到'$ this-> bar'。 –