Laravel-将变量发送到布局主版并在会话期间保留它


Laravel - Send Variable to layout master and keep it during session

我想知道 laravel 中是否有任何方法可以将变量发送到布局大师并在用户登录时将其保留在那里。我知道我该怎么做,就像这样

$this->layout->with('catalog.categories', $data);

但问题是我必须在所有控制器上并通过所有类发送变量。为了获得变量,我需要七到八行代码。

我举一个简单的例子。想象一下,我的网络中有一个信使中心。我想向用户显示他没有在顶部栏上阅读的所有消息。它必须在布局主机上并留在那里,直到他阅读消息。我是否必须在每次用户更改路由时传递此变量?

> Laravel有一个很好的方法来处理在所有视图中使用相同的数据的问题。查看作赞器就是您正在寻找的。

View::composer(array('view1','view2'), function($view)
{
    $view->with('data', 'value');
});

现在,数据变量绑定到 view1 和 view2。这意味着每次加载这些视图时它们都将可用。

把它们放在哪里?您可以将视图作曲家放置在您想要的任何位置,只要 Laravel 可以识别它。

阅读文档:查看作曲家