1

コントローラでプロパティを使用しようとしました$layoutが、常に次のエラーが発生します。

非オブジェクトのメンバー関数nest()の呼び出し

dd()の値をとると、this->layout文字列だけのように見えます。

これが私のコードです:

base.php

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

admin.php

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

私はおそらく何かが恋しいですが、ドキュメントでそれを見つけることができません

4

1 に答える 1

0

ああ、問題が見つかりました。フィルターを追加するために上書き__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 に答える