0
간단한 프레임 워크를 만들려고 MVC를 실험하고 있습니다. 이것은 내가 뭘하는지의 예입니다현재 클래스가 부모 클래스에서 인스턴스화 된 경우 부모 클래스 속성에 액세스하는 방법
<?php
require_once('config.php'); //Here I have the Config object
class App{
protected $config;
protected $controller;
public function init(){
$this->config = new Config;
$this->controller = new Main_Controller;
}
}
class Main_Controller extends App{
public function __construct(){
var_dump($this->config);
}
}
$app = new App;
$app->init();
문제는 내 위해서 var_dump는 NULL을 반환된다, 그래서 왜 안 Main_Controller 독서는 응용 프로그램의 속성입니다?
음, 문제는 내 App 클래스에 생성자가 없으므로 parent를 사용해서는 안된다는 것입니다. :: __ construct(); 그 기능이 존재하지 않기 때문에 내 Main_Controller 클래스에. 또한 나는 그것이 Main_Controller 내부의 고전적인 함수에 var_dump를 놓은 다음 Main_Controller를 인스턴스화하기 전에 App에서 바로 호출하기 때문에 모든 App 속성에 대해 여전히 NULL을 얻고 있기 때문에 생성자와 관련이 있다고 생각하지 않습니다. – enzo
내가 게시 한 텍스트는 php5 documentation verbatum에서 직접 가져온 것으로 인스턴스 메소드가 초기화되지 않을 수도 있다고 생각하는 유일한 방법입니다. Php'ers 밖에서 누구나 명확히 할 수 있습니다. –