在訪問php類中的成員變數或方法時,
1.類外部呼叫:
如果被引用的變數或者方法被宣告成const(定義常量)或者static(宣告靜態),那麼就必須使用操作符::
反之如果被引用的變數或者方法沒有被宣告成const或者static,那麼就必須使用操作符->
2.類內部呼叫:
如果從類的內部訪問const或者static變數或者方法,那麼就必須使用自引用的self::
反之如果從類的內部訪問不為const或者static變數或者方法,那麼就必須使用自引用的$this->
出處:
PHP中self和this的用法區別
php支援類和物件導向結構,php的類的靜態函式和變數不與任何特定類的例項相關聯 換句話說,乙個物件 請看 類與物件的區別 相反,靜態函式和變數與類定義本身相關聯。換言之,乙個類的所有例項都共享相同的靜態變數。在乙個類的方法 函式 的上下文中,靜態變數和函式被訪問使用self 在乙個類的物件 例項 ...
PHP中self和this的用法區別
php支援類和物件導向結構,php的類的靜態函式和變數不與任何特定類的例項相關聯 換句話說,乙個物件 相反,靜態函式和變數與類定義本身相關聯。換言之,乙個類的所有例項都共享相同的靜態變數。在乙個類的方法 函式 的上下文中,靜態變數和函式被訪問使用self 在乙個類的物件 例項 的上下文中使用其他方法...
php中static和self的區別
在閱讀一些框架的原始碼時發現了new static 和new self 甚是不解,後來查閱資料,才知道static採用了延遲繫結,能準確知道是父類還是子類的呼叫。這就是說static是個聰明的小孩,家裡的親戚的輩分他都能準確的叫出 而不是像他的兄弟self,只知道自己的親爹媽。例子如下 class ...