可能重複:
Reference - What does this symbol mean in PHP?
PHP: Static and non Static functions and Objects
In PHP, whats the difference between :: and -> ?PHP使用類
我已經看到了不同的方式在PHP中如使用類
$myclass->method()
或
MyClass::method()
的區別是什麼?
可能重複:
Reference - What does this symbol mean in PHP?
PHP: Static and non Static functions and Objects
In PHP, whats the difference between :: and -> ?PHP使用類
我已經看到了不同的方式在PHP中如使用類
$myclass->method()
或
MyClass::method()
的區別是什麼?
在你的例子中,$ myclass看起來是類MyClass的一個實例,並且你正在調用一個實例方法。實例方法從類的實例中調用。
在第二個示例中,方法似乎是該類的static方法。在類級調用靜態方法,不需要實例。
從對象調用方法,所以你會做$myclass = new MyClass()
首先,構造函數(__construct()
)被調用等
第二個是一個靜態調用:沒有對象被實例化,它不能使用$this
參考。靜態變量是一樣的遍佈BTW的地方,而非靜態變量是特定於他們所在的對象
雖然問題是封閉的,你可能會發現在這裏靜一些好的信息:https://stackoverflow.com/questions/3090994/what-does-the-static-keyword-mean-in-oop
要能夠使用$myclass->method()
,您首先必須創建該類的一個實例。
$myclass = new myClass();
第二使用沒有第一創建一個實例來訪問moethod。
看看http://stackoverflow.com/questions/6313783/what-is-the-notation-in-php-used-for – Pav 2011-06-11 12:28:21
也見:[在PHP中,什麼是::和 - >?](http://stackoverflow.com/questions/3173501/in-php-whats-the-difference-between-and) – ldg 2011-06-11 12:38:13