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