Maison > Article > développement back-end > La différence entre l'appel statique de classe et l'opérateur de résolution de portée en PHP
Cet article présente principalement la différence entre les opérateurs d'appel statique de classe et de résolution de plage en PHP. Les amis qui en ont besoin peuvent s'y référer. J'espère qu'il pourra aider tout le monde.
Le code spécifique est le suivant :
<?php //在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。 class ParentClass { public static $my_static = 'parent var '; function test() { self::who(); // 输出 'parent' 是范围解析,不是静态调用 $this->who(); // 输出 'child' static::who(); // 延迟静态绑定 是范围解析,不是静态调用 } function who() { echo 'parent<br>'; } } class ChildClass extends ParentClass { public static $my_static = 'child var '; function who() { echo 'child<br>'; } } $obj = new ChildClass(); $obj->test(); echo ChildClass::$my_static;//静态调用
La sortie ci-dessus
parent
enfant
child
child var
Recommandations associées :
Les méthodes non statiques peuvent-elles être appelées de manière statique en PHP ? (Appel étrange)
Analyse d'application de PHP appelant statiquement des méthodes non statiques_Tutoriel PHP
Analyse d'application de PHP appelant statiquement des méthodes non statiques
Analyse d'application de PHP appelant statiquement des méthodes non statiquesCe 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!