La différence entre -> et :: en PHP
->
Méthodes et attributs dans une classe utilisés pour référencer des instances de classe
Par exemple :
class Test{ function add(){return $this->var++;} var $var = 0; } $a = new Test; // 实例化对象名称 echo $a->add(); echo $a->var;
::
Méthodes de référence des méthodes statiques et propriétés statiques de la classe
Par exemple :
class Test{ public static function test(){ public static $test = 1; } }
Méthodes statiques et propriétés statiques de la classe n'a pas besoin d'être instancié L'objet est utilisé directement (la méthode utilisée est nom de classe :: nom de méthode statique)
Test::test(); // 调用静态方法test Test::$test; // 来取得$test静态属性的值
Remarque :
La méthode statique a déjà été instanciée et importée lors de la lecture cette classe ou en important ce fichier de classe. Il est stocké en mémoire et les classes non statiques doivent être nouvelles.
Même si une classe statique a plusieurs instances en mémoire, il n'y a qu'une seule copie des attributs statiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!