首页 > 解决方案 > 在 Blade.php 文件 laravel 5.4 中设置会话值

问题描述

我在 laravel 5.4 项目中工作,想使用 laravel 视图 show.blade.php 文件设置和获取会话值。有什么方法可以实现这一点。

标签: sessionlaravel-5.4

解决方案


您不应在刀片文件中设置会话值。这是一个不好的方法(把它带到控制器)

但如果你还想这样做

{{ session()->put('my_test_key','my_value')}}

你可以通过

{{ session()->get('my_test_key') }}

如果你看一下视图是如何在 php/laravel 中呈现的,那么不要使用视图在会话中放置一些东西是有意义的。

渲染视图时在控制器内部:

return view('show.blade.php',compact('my_var'));

在此阶段,您的值将在返回编译视图之前放入会话

如果我们使用控制器而不是视图为会话赋值,它将如下所示:

session()->put('my_test_key','my_value') // value is put to session before compiling the view 
return view('show.blade.php',compact('my_value'));

计算是控制器而不是视图的责任,乍一看您的控制器,任何人都会告诉您正在为 Session 赋予一些价值。

另一方面,如果我们使用 View 将某些内容放入会话中,如果有人想调试您的代码,他们必须深入查看视图以找到该行。相信我,挖掘视图并不容易,一个月后你也无法在视图中找到该行。


推荐阅读