PHP 中的 -> 和 :: 的區(qū)別
->
類中 用于引用類實(shí)例的方法和屬性
例如:
class Test{ function add(){return $this->var++;} var $var = 0; } $a = new Test; // 實(shí)例化對(duì)象名稱 echo $a->add(); echo $a->var;
::
類中 靜態(tài)方法和靜態(tài)屬性的引用方法
例如:
class Test{ public static function test(){ public static $test = 1; } }
類的靜態(tài)方法和靜態(tài)屬性可以不用實(shí)例化對(duì)象直接使用(使用的方式是 類名::靜態(tài)方法名 )
Test::test(); // 調(diào)用靜態(tài)方法test Test::$test; // 來(lái)取得$test靜態(tài)屬性的值
注:
靜態(tài)方法在讀到這個(gè)類或者引入這個(gè)類文件的時(shí)候,就已經(jīng)實(shí)例化并存放到內(nèi)存中了,非靜態(tài)類則需要new一下。
靜態(tài)類在內(nèi)存中即使有多個(gè)實(shí)例,靜態(tài)的屬性也只有一份。