【问题标题】:Set variable globally全局设置变量
【发布时间】:2017-06-26 00:29:55
【问题描述】:

我有一个问题,我无法让它工作。我想要一个在管理员按下按钮时设置的全局变量。我做了按钮操作,但不能让我的变量改变,我不知道为什么。

因此,当管理员单击按钮时,它会更改所有应用程序的变量值,因为我希望根据该变量显示我的视图。

谢谢!

【问题讨论】:

  • 您是否正在尝试创建某种维护模式?如果是这样,laravel 有一个内置的系统
  • 您是如何实现这一目标的?我们可以看一些代码吗?
  • 事实上,我决定在我的数据库中创建一个配置表,并将那 1 行表发送到 Controller.php 并分享给我所有的视图。
  • 您能发布用于创建此表的代码以及使数据可共享的 controller.php 部分吗?谢谢

标签: php laravel laravel-5 global-variables


【解决方案1】:

您可以设法设置一个全局变量,但我建议您不要这样做。 如果您想更改该变量并在下一个请求中访问它的值,您应该依赖Session API.

设置变量(来自 Laravel 文档):

// Via a request instance...
$request->session()->put('key', 'value');

// Via the global helper...
session(['key' => 'value']);

并阅读它:

//Via a request instance...
$value = $request->session()->get('key');
//Via the global helper...
$value = session('key');

您甚至可以指定要返回的默认值,以防您要检索的键不存在:

$value = session('key', 'default');

【讨论】:

  • 我已经尝试过了,但我需要它来保持比下一个请求更多的时间。事实上,我决定在我的数据库中创建一个配置表并将那 1 行表发送到 Controller.php 并共享给我所有的视图。
  • 会话数据不会持续一个请求,而是整个会话时间。如果您正在使用 cookie,它应该在过期之前使用。关于该表,如果该变量更像是一个用户配置,应该通过会话而不是在特定会话期间保持设置,那么我支持你。
  • 这确实是我在应用程序中到处都需要的变量,因为某些视图将依赖于该变量。 ;)
猜你喜欢
  • 1970-01-01
  • 2019-07-18
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多