• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Laravel基础_关于view共享数据的示例讲解

    1.所有视图共享数据(share)

    当所有视图都需要同一个数据时,使用视图工厂的share方法。

    全局帮助函数view,如果传入参数,则返回Illuminate\View\View实例,不传入参数则返回Illuminate\View\Factory实例。所以我们可以通过在服务提供者(app\Providers\AppServiceProvider.php)的boot方法中使用如下方式实现视图间共享数据:

     /**
      * Bootstrap any application services.
      *
      * @return void
      */
     public function boot()
     {
      //视图间共享数据
      view()->share('share','share');
     }

    然后在你的任何一个视图文件中这样写:

    {{ $share }}

    就会输出这个变量。

    2.部分视图共享数据(Composer)

    当一部分视图文件中需要同一个数据的时候,比如登录信息,可以通过视图工厂的composer方法实现。

    简单起见,我们还是基于AppServiceProvider,不去单独创建服务提供者。

     /**
      * Bootstrap any application services.
      *
      * @return void
      */
     public function boot()
     {
      //视图间共享数据
      view()->share('share','share');
    
      //视图Composer
      view()->composer('admin',function($view){
       $view->with('user',array('name'=>'lili','age'=>'18'));
      });
     }
    

    这样,在admin视图模板文件中就可以使用一下代码来输出。

    {{ $user['name'] }}
    {{ $user['age'] }}

    你也可以传递数据到多个视图:

    view()->composer(['hello','home'],function($view){
     $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
    });

    甚至所有视图(使用通配符*):

    view()->composer('*',function($view){
     $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
    });

    以上这篇Laravel基础_关于view共享数据的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Laravel基础-关于引入公共文件的两种方式
    • 在laravel框架中实现封装公共方法全局调用
    • laravel 实现向公共模板中传值 (view composer)
    • laravel框架模板之公共模板、继承、包含实现方法分析
    • Laravel 在views中加载公共页面的实现代码
    上一篇:在Laravel 的 Blade 模版中实现定义变量
    下一篇:解决laravel资源加载路径设置的问题
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Laravel基础_关于view共享数据的示例讲解 Laravel,基础,关于,view,共享,