Laravel如何将数据高效地传递给公共模板?
- 内容介绍
- 文章标签
- 相关推荐
本文共计570个文字,预计阅读时间需要3分钟。
在开发过程中,常常会向公共模板赋值,如顶部导航、页面底部等,而不可能在每个控制器中重复赋值。以下是在Laravel中解决此问题的方法:
修改 `App\Providers\AppServiceProvider`,在 `boot` 方法中添加:
phppublic function boot(){ $this->app->view->composer('*', function ($view) { $view->with('someKey', 'Some Value'); });}
开发过程中许多时候都会向公共模板赋值,比如顶部导航栏,页面底部等等,不可能在每个控制器中都赋值一遍。
Laravel 中解决办法如下: 修改
App\Providers\AppServiceProvider
在boot方法中添加
View()->composer('common.header',function ($view){ //common.header 对应Blade模板 $view->with('key', 'value'); });
也可以向所有模板中赋值
View()->share('key', 'value');
view composers 与视图有关,用在一个service provider 的boot()函数里,就是让一个view加载的时候,由于view composer的作用,去调用某个函数传个参啊啥的。
本文共计570个文字,预计阅读时间需要3分钟。
在开发过程中,常常会向公共模板赋值,如顶部导航、页面底部等,而不可能在每个控制器中重复赋值。以下是在Laravel中解决此问题的方法:
修改 `App\Providers\AppServiceProvider`,在 `boot` 方法中添加:
phppublic function boot(){ $this->app->view->composer('*', function ($view) { $view->with('someKey', 'Some Value'); });}
开发过程中许多时候都会向公共模板赋值,比如顶部导航栏,页面底部等等,不可能在每个控制器中都赋值一遍。
Laravel 中解决办法如下: 修改
App\Providers\AppServiceProvider
在boot方法中添加
View()->composer('common.header',function ($view){ //common.header 对应Blade模板 $view->with('key', 'value'); });
也可以向所有模板中赋值
View()->share('key', 'value');
view composers 与视图有关,用在一个service provider 的boot()函数里,就是让一个view加载的时候,由于view composer的作用,去调用某个函数传个参啊啥的。

