PHP 中的-> 和:: 的差異
->
類別中用於引用類別實例的方法和屬性
例如:
class Test{ function add(){return $this->var++;} var $var = 0; } $a = new Test; // 实例化对象名称 echo $a->add(); echo $a->var;
::
類別中靜態方法和靜態屬性的參考方法
例如:
class Test{ public static function test(){ public static $test = 1; } }
類別的靜態方法和靜態屬性可以不用實例化物件直接使用(使用的方式是類別名稱::靜態方法名稱)
Test::test(); // 调用静态方法test Test::$test; // 来取得$test静态属性的值
註:
靜態方法在讀到這個類別或引入這個類別檔案的時候,就已經實例化並存放到記憶體中了,非靜態類別則需要new一下。
靜態類別在記憶體中即使有多個實例,靜態的屬性也只有一份。
以上是PHP 中的 -> 和 :: 的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!