Maison > Article > développement back-end > Quelle est la signification particulière d'appeler le constructeur d'une classe non liée dans le constructeur en PHP ?
Je regarde le processus de démarrage de Yii2, et la classe parent du constructeur Application est écrite comme ceci ; je voudrais demander quelle est la particularité de la dernière phrase de Component::construct($config) ) être appelé ici ?
public function construct($config = []) { Yii::$app = $this; $this->setInstance($this); $this->state = self::STATE_BEGIN; $this->preInit($config); $this->registerErrorHandler($config); Component::construct($config); }
Principalement parce qu'il y a un problème que je n'arrive pas à comprendre dans le processus de suivi du code,
Component::construct($config)---->Object::construct($ config)-- ->Yii::configure($this,$config)
Voici comment cela est géré dans Yii::configure:
public static function configure($object, $properties) { foreach ($properties as $name => $value) { $object->$name = $value; } return $object; }
La fonction setter correspondante est en fait appelée ici , où $config contient généralement les paramètres des composants, donc la fonction setComponents sera appelée. Cette fonction est définie par la classe parent Application, alors pourquoi l'instance $this peut-elle appeler la fonction Application ? $c'est évidemment une instance de Component, donc je ne peux pas le comprendre. Je n'ai pas bien appris les bases de PHP
l'application appelle la méthode de construction de Component, et la méthode de construction de Component hérite <.>Classe d'objet, où appelle-t-il la fonction d'Application
Je me suis soudainement souvenu que ApplicationCe 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!