美文网首页
Laravel视图合成器

Laravel视图合成器

作者: 小慕先森 | 来源:发表于2017-08-12 14:44 被阅读0次

    一、场景:

    在一个公共视图中有一侧边栏的数据。每个页面都需要展示。不能在每一个展示页面都获取数据来渲染一次。

    二、解决办法:

    语法:

    View::composer('模板地址',function($view){
          //实现的逻辑
    });
    

    加载模板的时候都会执行右边的函数

    位置:

    一般放在App\Providers\AppServiceProvider中;

    class AppServiceProvider extends ServiceProvider
    {
        /**
         * Bootstrap any application services.
         *注册完之后调用
         * @return void
         */
        public function boot()
        {
            //mb4String 767/4
            Schema::defaultStringLength(191);
            //视图合成器 注入专题数据
            \View::composer('layouts.sidebar',function($view){
                $topics = \App\Http\Model\Topic::all();
                $view->with('topics',$topics);
            });
        }
    
        /**
         * Register any application services.
         *注册前调用
         * @return void
         */
        public function register()
        {
            //
        }
    }
    

    相关文章

      网友评论

          本文标题:Laravel视图合成器

          本文链接:https://www.haomeiwen.com/subject/fuqjrxtx.html