我遇到问题,我尝试绑定到我的视图的数据只有当我在某些位置注册绑定时才起作用。查看共享/作曲家不能从BaseController正常工作
例如,当我尝试绑定App::before()
过滤器时,它可以工作,并且所有视图中都可以使用successMessages
。但是,当我尝试在BaseController构造函数(所有控制器继承自它)中执行此操作时,我收到一个未找到变量的错误。
class BaseController extends Controller
{
public function __construct()
{
View::share('successMessages', array('All good', 'Nailed it', 'Perfect'));
}
}
同样的问题,当我尝试使用,而不是View::share()
方法将View Composer存在。
View::composer(array('layouts.application', 'layouts.home'), function($view)
{
$view->with('successMessages', array('All good', 'Nailed it', 'Perfect'));
});
任何想法,为什么这些将在App::before()
过滤器注册,但是不能控制器构造,在那里我想他们大概应该属于?
也许你应该从子控制器调用父构造函数? 'parent :: __ construct()' –