我遇到的问题是,我尝试绑定到我的视图的数据仅在我在某些位置注册绑定时才有效。
例如,当我尝试在App::before()
过滤器中绑定时,它可以工作并且successMessages
在所有视图中都可用。
App::before(function($request)
{
View::share('successMessages', array('All good', 'Nailed it', 'Perfect'));
});
但是,当我尝试在 BaseController 构造函数(所有控制器都继承自)中执行此操作时,我得到一个未找到变量的错误。
class BaseController extends Controller
{
public function __construct()
{
View::share('successMessages', array('All good', 'Nailed it', 'Perfect'));
}
}
当我尝试使用视图编辑器而不是View::share()
方法时,存在同样的问题。
View::composer(array('layouts.application', 'layouts.home'), function($view)
{
$view->with('successMessages', array('All good', 'Nailed it', 'Perfect'));
});
知道为什么这些将在App::before()
过滤器中注册而不是在控制器构造函数中注册,我认为它们应该属于哪里?