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)