我得到了一堆OOP,並最終開始在我的腳本中創建它們。有一件事我沒有得到它是創建一個類的實例後的「$ this」。例如,這個人編碼:
class Form
{
protected $inputs = array();
public function addInput($type, $name)
{
$this->inputs[] = array("type" => $type,
"name" => $name);
}
}
$form = new form();
$this->addInput("text", "username");
$this->addInput("text", "password");
請注意,最後兩行顯示他使用$ this-> addInput()。
它與$ form-> addInput有什麼不同?我總是使用我用來創建類的實例的變量的名稱。我沒有看到$ this-> function()做了什麼。 PHP如何知道它指的是哪個對象?
據我所知,$ this-> var用於該對象內的任何方法。如果沒有$ this-> var而是純粹的$變量,那麼它不能用於具有該變量的方法之外的其他方法,對嗎?
相關:https://stackoverflow.com/questions/2035449/why-is-oop-hard-for-me/3689613#3689613
嗯,我認爲代碼是錯誤的。它應該是'$ form->'而不是'$ this->'最後2行。 – Petah 2010-10-16 23:36:59
可能重複[什麼是$這意味着在類定義?](http://stackoverflow.com/questions/3776696/what-does-this-mean-within-a-class-definition) – Gordon 2010-10-16 23:47:13