Laravel刀片中的全局变量 [英] Global variable in Laravel Blade

查看:37
本文介绍了Laravel刀片中的全局变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Laravel服务提供商的新手,最近遇到了一个问题。我正在尝试在所有视图(全局)中访问来自服务提供商的变量。该变量以json格式提供。 这是我的ServiceProvider

<?php

  namespace AppProviders;

  use IlluminateSupportServiceProvider;

  class ExternalVarServiceProvider extends ServiceProvider
  {
      /**
       * Bootstrap the application ExternalVarServiceProvider.
       *
       * @return void
       */
      public function boot()
      {
          $url = "json-source-url";
          $json = json_decode(file_get_contents($url), true);
          $var = $json["array_index"];
          //var should be global to all blade files, app.blade.php is main templ
          View::share( 'app', 'var' );
      }

      /**
       * Register the application services.
       *
       * @return void
       */
      public function register()
      {
          //
      }
  }

感谢您阅读,Pat:)

推荐答案

您做得很正确,但您只需将服务提供商中的此行从

View::share( 'app', 'var' );

View::share( 'app', $var );

在您看来,您可以这样使用它

{{$app}}

您还可以在服务提供商中传递一个数组,如下所示:

View::share( ['app'=> $var,'app2'=>$var2] );

请注意,根据documentationShare方法接受键和值,因此app不是其共享值的的视图名称

这篇关于Laravel刀片中的全局变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆