1.多视图共享数据
如题,如果我们有一些固定的网站内容,如联系方式,客服扣扣等,需要放在公用视图模板的头部或底部,如这样:
在home.blade.php中
1 | <p>手机:{{$config->linktel}} 丨 邮箱:{{$config->linkemail}} 丨 地址:{{$config->linkadress}}</p> |
怎样在每个视图中都加载这些内容呢。
1.直接使用View::share()方法来在每个视图层加载固定内容
首先使用Artisan创建服务提供者
1 | php artisan make:provider ComposerServiceProvider |
然后在config/app.php里注册提供者。在providers里加入:
1 | 'providers' => [ |
然后在注册的提供者里面加入:
1 | public function boot() |
这是使用外观模式,也可以直接使用view()方法,
1 | view()->share('abc', 'beeasy'); |
这样在视图层里面就能直接使用
1 | {{$abc}} |
2.使用Composer单独对某个视图闭包来完成
1 | public function boot() { |
这样就能在layouts/home.blade.php视图下直接使用config变量了
当然你也可以这样写:
1 | public function boot() { |
这样就能达到第一种方法的效果
两种方法的区别:第一种方法是在每个视图层都传递数据,而第二种是针对某个视图层来传递数据,具体的选择方法还是要根据具体情况来定。
2.安装laravel-debugbar来提高开发效率
1). 使用 Composer 安装该扩展包:
1 | composer require barryvdh/laravel-debugbar |
2). 安装完成后,修改 config/app.php 在 providers 数组内追加 Debugbar 的 Provider
1 | 'providers' => [ |
同时在 aliases 数组内追加如下内容
1 | 'aliases' => [ |
3). 接下来运行以下命令生成此扩展包的配置文件 config/debugbar.php:
1 | php artisan vendor:publish --provider="Barryvdh\Debugbar\ServiceProvider" |
打开 config/debugbar.php,将 enabled 的值设置为:
1 | 'enabled' => env('DEBUGBAR_ENABLED', true), |
修改完以后, Debugbar 分析器的启动状态将由 .env文件中 DEBUGBAR_ENABLED 值决定。
页面刷新后, 看到下图即表示运行成功。
原文地址:https://laravel-china.org/topics/2531
关闭功能只需要在debugbar.php文件中,将
1 | 'enabled' => env('DEBUGBAR_ENABLED', true), |
改为
1 | 'enabled' => env('DEBUGBAR_ENABLED', false), |
或者将根目录下.ENV文件:
1 | DEBUGBAR_ENABLED=true |
改为
1 | DEBUGBAR_ENABLED=false |