Yii2의 시작 과정을 보고 있는데, Application 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; }
해당 setter 함수는 실제로 여기에서 호출됩니다. $config에는 일반적으로 구성 요소의 설정이 포함되어 있으므로 setComponents 함수는 This 함수는 Application 상위 클래스에 의해 정의되는데 $this 인스턴스가 Application 함수를 호출할 수 있는 이유는 무엇입니까? $this는 분명히 Component의 인스턴스이므로 이해할 수 없습니다.
애플리케이션이 Component의 생성 메소드를 호출합니다. Object 클래스를 상속받습니다. Application
의 함수를 호출하는 것이 갑자기 생각났는데, Application위 내용은 PHP 생성자에서 관련 없는 클래스의 생성자를 호출한다는 특별한 의미는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!