【发布时间】:2018-09-12 12:55:01
【问题描述】:
我是一个新手 php 编码器。我有这个主控制器:
namespace App\Core;
class Controller
{
/** @var View View The view object */
public $View;
public $templates;
/**
* Construct the (base) controller. This happens when a real controller is constructed, like in
*/
public function __construct()
{
}
public function loadModel() {
$this->model = new \App\Front\Model\IndexModel(); //error line
}
}
在 IndexController 我有:
namespace App\Front\Controller;
use App\Front\Model\IndexModel;
class IndexController extends \App\Core\Controller {
public function index(){
$this->loadModel->test();
}
}
在 IndexModel 我有:
namespace App\Front\Model;
class IndexModel
{
public function test(){
echo 'test print';
}
}
在操作中我收到此错误:
注意:未定义的属性:第 13 行 /Applications/xampp/htdocs/cmstest/application/Front/Controller/IndexController.php 中的 App\Front\Controller\IndexController::$loadModel
我使用 composer 和 PDR-4 方法加载所有类。
有什么问题,我该如何解决?谢谢
【问题讨论】:
-
Controller::loadModel是一个方法而不是一个属性,所以$this->loadModel->test();应该是$this->loadModel()->test(); -
@CD001:我改变了这个但是看到错误:
Fatal error: Uncaught Error: Call to a member function test() on null in /Applications/xammp/htdocs/cmstest/application/Front/Controller/IndexController.php:13 -
loadModel()需要返回您刚刚分配给$this->model的IndexModel- 例如public function loadModel() { $this->model = new \App\Front\Model\IndexModel(); return $this->model }如果什么都不回,那就是NULL -
@harmonytalk - 我的帖子回复你了吗?
-
@DavidWinder:当然。你在你的答案下面看到我的评论。
标签: php function return-value