Maison > Article > développement back-end > La différence entre l'opérateur d'analyse de plage à double deux-points et l'opérateur flèche -> en PHP
Les doubles deux-points sont généralement utilisés dans les appels aux méthodes statiques et aux variables statiques À l'heure actuelle, la classe n'a pas besoin d'être instanciée. Au lieu de cela, lorsque vous utilisez la flèche opérateur - >, la classe doit être instanciée (ou elle peut être appelée à l'intérieur de la classe.)
Le double deux-points (::) est un symbole d'accès positionnel . Cela ne signifie pas seulement des méthodes et des variables statiques. Mais cela signifie que la chose située sur le côté gauche du côlon appelle la chose située sur le côté droit du côlon. Une telle signification. Donc. . $self ne peut pas être écrit à gauche. Parce que $self est analysé en premier, à moins que la variable $self ne soit définie précédemment, elle pointe vers elle-même.
Dans la dernière version de php. Le double deux-points est utilisé exactement pour suivre cette fonction. . Peut être remplacé - > Appelez objet pour obtenir la variable. Parce que c'est un indicateur de position. .
consiste à distinguer les méthodes et les attributs de l'objet et les propriétés sont spécifiques à chaque objet et doivent donc être instanciées en premier. Il en va de même pour d'autres langages comme C++, JAVA, etc. (bien entendu les symboles d'accès qu'ils fournissent peuvent être différents)
- > : consiste à accéder aux méthodes statiques et aux variables statiques de la classe
->Accès aux objets et ::accès à la localisation
Tout le monde l'a déjà dit sur la partie théorique, et ils ont effectivement raison . Mais php est un peu différent.
Dans la configuration par défaut, PHP n'a pas d'exigences strictes : : La méthode statique doit être appelée
Vous pouvez le savoir en testant le code suivant
class t{ public $v = 1; public function getVar(){ return 1;//$this->v; } } class xxxxx { public function actionIndex() { $x = t::getVar(); $t = new t(); $x = $t->getVar(); } } 作者:楚天乐 链接:https://www.zhihu.com/question/19782824/answer/35943595 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
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!