以下のクラスは正常に機能しており、MVC を学習しようとしていますが、その理由を知りたいだけです。おそらく非常に単純ですが、理解できませんでした。
そのため、コントローラ クラスでは、View オブジェクト (別の場所で定義) を開始し、$this->view に割り当てました。コントローラークラスのどこにもviewプロパティを定義しておらず、拡張もしていないため、エラーが発生しないのはなぜですか。
エラークラスと同じこと。$this->view->msg が正常に機能しているのは、msg プロパティが親でもエラー コントローラー自体でも定義されていないためです。
これらがその場でどのように機能しているか。
<?php
class Controller {
function __construct() {
echo 'main controller <br/>';
$this->view = new View();
}
}
?>
コントローラを拡張するエラー クラス
<?php
class Error extends Controller {
function __construct() {
parent::__construct();
echo 'This is error mate';
$this->view->msg = 'This page does not exit by msg';
$this->view->render('error/index');
}
}
?>