我有一个模特 -
class Model{
public $childModel;
public function getModel($url){
$this->childModel = 'model/'.$url;
include($this->childModel);
new ModelHomeHome();
}
}
这是儿童模特 -
class ModelHomeHome extends Model{
function __construct(){
echo 'This is Home Model.';
}
}
控制器类 -
class Controller{
public $model;
function __construct(){
$this->model = new Model();
}
}
这是子控制器 -
class ControllerHomeHome extends Controller{
function help(){
$this->model->getModel('home/home.php');
}
}
并在页面中
include(controller.php);
include(model.php);
问题是子模型类没有初始化。 致命错误:在非对象上调用成员函数getModel()。
如果我将$this->model = new Model();
放在子控制器的help()
函数内而不是放在父控制器内,它就可以工作。但我想在父控制器的构造函数内初始化模型。请帮忙。
答案 0 :(得分:0)
您确定这是您文件的路径吗?我见过的大多数框架通常都有文件,因此我尝试使用常量来确保在检索文件时我在正确的父控件中。
答案 1 :(得分:0)
当我包含模型和控制器类并运行以下代码时,这对我来说很好用
include('controller.php');
include('model.php');
$home = new ControllerHomeHome();
$home->help();
输出:
This is Home Model.