PHP 中的 -> 和 :: 的區別

2020-07-16 10:06:09
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 中的 -> 和 :: 的區別的詳細內容,更多請關注TW511.COM其它相關文章!