• Laravel视图共享数据


    Laravel视图共享数据

    最近在用lavavel过程中想实现公共头部尾部需要的配置数据在所有的页面中都可以使用,便查看了官方文档,在此做一个总结:

    一. 修改 ComposerServiceProvider 服务

      在app/Providers目录下面找到ComposerServiceProvider.php 文件,将其修改成如下面类似:

    <?php
    
    namespace AppProviders;
    
    use IlluminateSupportServiceProvider;
    
    class ComposerServiceProvider extends ServiceProvider
    {
        /**
         * Bootstrap the application services.
         *
         * @return void
         */
        public function boot()
        {
            view()->composer(
                'home.*',
                'AppHttpViewComposersBaseInfoComposer'
            );
        }
    
        /**
         * Register the application services.
         *
         * @return void
         */
        public function register()
        {
            //
        }
    }

    注意:composer的第一个参数是需要公用数据的试图问题,我这边是home下的所有文件,第二个参数是具体要执行的文件。

    二 . 处理数据获取并渲染

    创建AppHttpViewComposersBaseInfoComposer.php 这个文件,将其修改成如下面类似:

    <?php
    
    namespace AppHttpViewComposers;
    
    use IlluminateViewView;
    use AppHttpModelsBackendNav;
    use AppHttpModelsBackendConfig;
    
    class BaseInfoComposer
    {
        /**
         *  将数据绑定到视图。
         *
         * @param  View  $view
         * @return void
         */
        public function compose(View $view)
        {
            $view->with([
                'nav'=>Nav::where('is_delete',1)->orderBy('sort','desc')->get(),
                'base'=>json_decode(Config::where('name','基本配置')->value('configs'),true),
                'other'=>json_decode(Config::where('name','其它配置')->value('configs'),true),
                ]);
        }
    }

    三. 注册服务

    config/app.php文件下的providers数组中进行注册:

    AppProvidersComposerServiceProvider::class,

    再在页面中就都可以调用了

  • 相关阅读:
    微信公众平台开发(53)砸金蛋
    微信公众平台高级功能
    微信5.0安卓内测版下载
    微信公众平台2013.08.05更新说明
    淘宝微信互相屏蔽影响了谁
    WAP网页输入框的默认键盘类型控制
    如何通过微信创业赚钱
    腾讯风铃
    腾讯推出微信企业服务平台风铃
    一键生成HTML4和WAP站
  • 原文地址:https://www.cnblogs.com/crazytata/p/10209000.html
Copyright © 2020-2023  润新知