【问题标题】:How to access session in blade before request如何在请求之前访问刀片中的会话
【发布时间】:2015-08-09 15:46:24
【问题描述】:
我有一个使用刀片模板构建的管理模板,包括另一个模板。用户请求是扩展主刀片并仅返回内容。
但是在模板中我有一些东西,比如用户消息(计数)、主题选项等。
这些东西必须保存在用户会话中。Cookies 不是一个选项。
问题是如何以最好的方式做到这一点。
我正在考虑在中间件中获取请求并在那里访问会话。之后我必须将数据传递给刀片模板(不是最终的扩展模板)。
你有什么意见?!谢谢!
【问题讨论】:
标签:
php
laravel
laravel-5
blade
【解决方案1】:
如果我理解正确,您有一个主布局刀片模板,稍后由控制器返回的用户视图扩展。
不需要您描述的额外代码。 用户和布局模板都在控制器操作执行后进行处理,并且都可以通过 session() 助手访问用户会话,并通过 Auth::user( )。
所以下面的示例代码应该适合你:
// SomeController
public function someAction() {
return return response()->view('user');
}
// main.blade.php
@if (Auth::check())
Show this text only to authenticated users
@endif
Value of session parameter is {{ session('parameter_name') }}
// user.blade.php
@extends('main')