Yii2 の起動プロセスを観察しているのですが、アプリケーション constructor の親クラスは次のように書かれています。最後の文 Component::construct($config) がここで呼び出されたときに特別な意味があるのかどうかを聞きたいのですが。
public function construct($config = []) { Yii::$app = $this; $this->setInstance($this); $this->state = self::STATE_BEGIN; $this->preInit($config); $this->registerErrorHandler($config); Component::construct($config); }
主にコードを追う過程で理解できない問題があったため、
Component::construct($config)---->Object::construct($config)--->Yii ::configure( $this,$config)
これは Yii::configure:
public static function configure($object, $properties) { foreach ($properties as $name => $value) { $object->$name = $value; } return $object; }でどのように処理されるかです。 $config には通常、コンポーネントの設定が含まれているため、setComponents 関数が実際に呼び出されます。 This 関数は Application の親クラスによって定義されているのに、なぜ $this インスタンスが Application 関数を呼び出すことができるのでしょうか? $this は明らかに Component のインスタンスなので、アプリケーションが
Object クラス の構築メソッドを継承するのはどこなのか、よく理解できていません。 Application の関数を呼び出す
突然思い出したのですが、 Application以上がPHP のコンストラクターで無関係なクラスのコンストラクターを呼び出す特別な意味は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。