我已经和Laravel合作了一段时间。
然而,我面临着新的挑战。我的应用程序中有一些通知将显示在主模板上。
在这种情况下,能够包含NotificationController@getNotifications
返回包含通知的视图会很棒。
我怎样才能做到这一点?
答案 0 :(得分:1)
我认为您不应该包含任何控制器来实现此目的。控制器应该处理用户请求。我认为composer是可行的方法。
为主模板创建一个作曲家,为视图提供您想要显示的通知。
View::composer('layouts.master', function($view)
{
$notifications = Notification::all();
$view->with('notifications', $notifications);
});
然后在模板文件中渲染通知。
另一种方法是在通知视图中添加一个作曲家,然后在主模板中包含该视图(使用@include)。
注意: Laravel默认情况下不为作曲家提供文件或文件夹。我通常创建一个 composers.php 或一个 composers 文件夹(用于基于类的作曲家)。