作曲家是:
视图组合器是在呈现视图时调用的回调或类方法.如果每次在整个应用程序中呈现视图时都希望绑定到给定视图的数据,则视图编辑器可以将该代码组织到单个位置.因此,视图编辑器可以像"视图模型"或"演示者"那样起作用.
View::composer('profile', function($view)
{
$view->with('count', User::count());
});
Run Code Online (Sandbox Code Playgroud)
和
创作者是:
视图创作者几乎完全像视图作曲家一样工作; 但是,在实例化视图时会立即触发它们.要注册视图创建者,请使用创建者方法
View::creator('profile', function($view)
{
$view->with('count', User::count());
});
Run Code Online (Sandbox Code Playgroud)
所以问题是:有什么区别?
在Laravel中,我们都以几乎相同的方式将数据传递给我们的视图
$data = array(
'thundercats' => 'Hoooooooooooh!'
);
return View::make('myawesomeview', $data);
Run Code Online (Sandbox Code Playgroud)
但是有没有办法在视图中添加默认变量而不必一遍又一遍地声明它$data
?这对于重复诸如用户名,PHP逻辑甚至CSS样式之类的变量非常有用,如果站点需要它的话.