【问题标题】:How to determine global variable in Blade template?如何确定 Blade 模板中的全局变量?
【发布时间】:2016-12-20 08:27:58
【问题描述】:

我尝试在模板刀片中确定一个全局变量:

global $result_view;

在这个下面我试着叫这个:

 <?=$result_view?>

并得到错误:Undefined variable: result_view ()

【问题讨论】:

标签: laravel laravel-5.2


【解决方案1】:

一种方法是在配置文件中定义您的变量,然后您将能够在所有视图、控制器等中获取此变量。

{{ config('myConfig.someVariable') }}

另外,您可以使用view composer 来设置全局变量。

【讨论】:

  • 不,这个变量在模板中的函数内部不可用
  • 你是对的。然后你有两个选择:使用config() 方法和使用视图作曲家。
【解决方案2】:

在 Controller 或 Service provide 中,可以添加

View::share('result_view', 'SomeValue');

在您可以使用的项目中的任何 Blade 模板中,

{{ $result_view }}

【讨论】:

  • 在使用通配符如 View::share('folder.*') 时要小心,尤其是当您的变量从数据库查询中检索时。每个被包含或渲染的刀片文件都会产生 1 个额外的查询,最终每个刀片文件都会产生大量相同的查询。
  • 来自@BillL 的非常重要的说明。
猜你喜欢
  • 2014-05-06
  • 2019-05-25
  • 2018-01-30
  • 2015-06-25
  • 2010-11-05
  • 2017-09-06
  • 1970-01-01
相关资源
最近更新 更多