2009-06-26 73 views
3

就是這樣。大多數OO編程語言中的範圍界定在沒有明確引用當前實例的情況下(即PHP中的'$ this')解析符號。爲什麼PHP要求我在每個調用之前使用$ this在同一個類中的成員函數之前?

+0

可能的重複[在PHP中擁有$ this和self ::有什麼意義?](http://stackoverflow.com/questions/3345408/what-is-the-point-of-having-this-和-self-in-php) – 2010-07-31 11:06:38

回答

11

解決函數調用的範圍。試想一下:

$this->strstr(... 

,只是

strstr(... 

後者將調用PHP的內置的strstr(),這是不是我們要在這裏做的功能。

這是將OOP功能添加到高級過程/腳本語言的結果。

+0

有道理。我覺得必須一直使用$ this-> myFunc()是不必要的冗長。但是,在PHP內置函數的情況下,您有一點意思。如果不需要'$ this'限定符,則必須有一個符號明確表示'調用內置方法'(例如'$ - > ststr()')。感謝你的回答。 :) – rinogo 2009-06-26 19:23:22

相關問題