Php 如何在模型内运行方法| MVC
在索引文件中,我有Php 如何在模型内运行方法| MVC,php,model-view-controller,Php,Model View Controller,在索引文件中,我有\u autoload并加载libs,然后分解url以获得想要的控件和模型(如果存在)。在视图中,我可以看到模型_construct(),因此加载了模型,但是如果我尝试使用$this->model->test()我明白了 对非对象调用成员函数test() 关于 $this->request = about; $controller = new $this->request; $controller->loadModel($this->request);
\u autoload
并加载libs,然后分解url以获得想要的控件和模型(如果存在)。在视图中,我可以看到模型_construct(),因此加载了模型,但是如果我尝试使用$this->model->test()代码>我明白了
对非对象调用成员函数test()
关于
$this->request = about;
$controller = new $this->request;
$controller->loadModel($this->request);
一切正常
*这是主控制器*
这是关于Conroller的信息
class About extends Conroller {
function __construct(){
parent::__construct();
$this->model->test();
$this->view->render('/about');
}
}
在参考模型之前,您需要在关于控制器的中调用loadModel
:
class About extends Conroller {
function __construct(){
parent::__construct();
$this->loadModel('about');
$this->about->test();
}
}
请发布您正在使用的最终代码以及整个错误消息。这几乎是启动文件的全部内容,完全错误是对About Conroller中非对象上的成员函数test()的调用。但是我删除了$controller->loadModel($this->request);从启动文件和about模型中,我添加$this->loadModel('about');是的,但没有$this->about->test();我使用$this->model->test();。谢谢@rjz
class About extends Conroller {
function __construct(){
parent::__construct();
$this->model->test();
$this->view->render('/about');
}
}
class About extends Conroller {
function __construct(){
parent::__construct();
$this->loadModel('about');
$this->about->test();
}
}