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一下。
静态类在内存中即使有多个实例,静态的属性也只有一份。