1

我尝试$layout在我的控制器中使用该属性,但我总是收到以下错误:

在非对象上调用成员函数 nest()

dd()的值时this->layout,它似乎只是一个字符串。

这是我的代码:

基础.php

class Base_Controller extends Controller {
  public $layout = 'layouts.common';
}

管理员.php

class Admin_Controller extends Base_Controller {
  public function action_index() {
    $this->layout->nest('content', 'admin.home');
  }
}

我可能错过了一些东西,但我在文档中找不到它

4

1 回答 1

0

啊,刚刚发现了问题。我是 overwritting__construct添加过滤器,但没有调用父构造:

class Admin_Controller extends Base_Controller {
  public function __construct() {
    parent::__construct();
    $this->filter('before', 'auth');
  }
  public function action_index() {
    $this->layout->nest('content', 'admin.home');
  }
}
于 2013-02-11T15:37:34.173 回答