微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – Laravel中View Composer和Creator之间的区别?

根据Laravel 4 documentation.

作曲家是:

View composers are callbacks or class methods that are called when a view is rendered. If you have data that you want bound to a given view each time that view is rendered throughout your application, a view composer can organize that code into a single location. Therefore, view composers may function like “view models” or “presenters”.

View::composer('profile', function($view)
{
    $view->with('count', User::count());
});

创作者是:

View creators work almost exactly like view composers; however, they are fired immediately when the view is instantiated. To register a view creator, simple use the creator method

View::creator('profile', function($view)
{
    $view->with('count', User::count());
});

所以问题是:有什么区别?

解决方法:

当您使用View :: creator时,您有机会覆盖控制器中的视图变量.像这样:

View::creator('layout', function($view) {
    $view->with('foo', 'bar');
});

// in controller
return View::make('layout')->with('foo', 'not bar at all');

// it's defined as 'not bar at all' in the view

View::composer('hello', function($view) {
    $view->with('foo', 'bar');
});

// in controller
return View::make('hello')->with('foo', 'not bar at all');

// it's defined as 'bar' in the view

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐