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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    laravel 实现向公共模板中传值 (view composer)

    view composers 与视图有关,用在一个service provider 的boot()函数里,就是让一个view加载的时候,由于view composer的作用,去调用某个函数传个参啊啥的。

    1,创建service provider

    php artisan make:provider ComposerServiceProvider

    再把ComposerServiceProvider加到config/app.php里面

    2,写view composer

    public function boot()
     {
      view()->composer(
       'app', //模板名
       'App\Http\ViewComposers\MovieComposer' //方法名或者类中的方法
      );
     }

    意思是一旦加载app.blade.php,就执行App\Http\ViewComposers\MovieComposer里的composer函数(这里之所以执行composer函数是默认的),如果你想换一个就

    view()->composer('app','App\Http\ViewComposers\MovieComposer@foobar'); //自己定义的方法

    这里就执行foobar函数了

    在App\Http\ViewComposers\MovieComposer.php里这么写

    ?php
    
    namespace App\Http\ViewComposers;
    
    use Illuminate\View\View;//**记得引入这个啊(因为在composer函数参数里使用了View类)**
    
    class MovieComposer
    {
     public $movieList = [];
     public function __construct()
     {
      $this->movieList = [
       'Shawshank redemption',
       'Forrest Gump',
      ];
     }
     public function compose(View $view)
     {
      $view->with('latestMovie');
     }
    }
    

    3,其他

    当所有模板都要,用*正则表达式

    view()->composer('*', function (View $view) {
     //logic goes here
    });

    想要指定多个view使用,用数组包起来

    view()->composer(['nav', 'footer'],'App\Http\ViewComposers\MovieComposer');

    或者

     view()->composer(['admin.admin'], function ($view){
       $column = $this->object_array(DB::table('column')->get());
       foreach($column as $k=>$v){
        $chid = explode(',',$v['childid']);
        foreach($chid as $value){
         $column[$k]['chname'][] = $this->object_array(DB::table('column_child')->where('id',$value)->first());
        }
       }
       $view->with('columns',$column);
      });

    以上这篇laravel 实现向公共模板中传值 (view composer)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Laravel框架中composer自动加载的实现分析
    • PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
    • Laravel 解决composer相关操作提示php相关异常的问题
    • 浅谈laravel 5.6 安装 windows上使用composer的安装过程
    • 使用composer 安装 laravel框架的方法图文详解
    • 一次因composer错误使用引发的问题与解决
    • tp5框架使用composer实现日志记录功能示例
    • windows环境下使用Composer安装ThinkPHP5
    • PHP创建自己的Composer包方法
    • 分析Composer实现自动加载原理
    上一篇:浅谈laravel数据库查询返回的数据形式
    下一篇:laravel框架如何设置公共头和公共尾
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    laravel 实现向公共模板中传值 (view composer) laravel,实现,向,公共,模板,