laravel常用的辅助函数介绍(Laravel向公共模板赋值方法总结)
类别:编程学习 浏览量:2864
时间:2022-01-26 01:06:16 laravel常用的辅助函数介绍
Laravel向公共模板赋值方法总结开发过程中许多时候都会向公共模板赋值,比如顶部导航栏,页面底部等等,不可能在每个控制器中都赋值一遍。
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的作用,去调用某个函数传个参啊啥的。
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
里这么写
|
<?phpnamespace 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框架怎么定时任务(laravel Model 执行事务的实现)
- laravel数据绑定(laravel-admin表单提交隐藏一些数据,回调时获取数据的方法)
- laravel终止函数执行(laravel 输出最后执行sql 附:whereIn的使用方法)
- laravel判断变量为空(关于laravel 数据库迁移中integer类型是无法指定长度的问题)
- laravel消息机制(laravel框架中间件 except 和 only 的用法示例)
- laravel验证码依赖(laravel5.2表单验证,并显示错误信息的实例)
- laravel自定义数据库驱动(laravel框架数据库配置及操作数据库示例)
- laravel开发api支持多少并发(laravel框架 api自定义全局异常处理方法)
- laravel分页(laravel5.5添加echarts实现画图功能的方法)
- laravel自定义命令(laravel中数据显示方法默认值和下拉option默认选中)
- laravel提取数据库的字段(Laravel创建数据库表结构的例子)
- laravel api接口开发版本控制(Laravel 创建可以传递参数 Console服务的例子)
- laravel服务提供者应用场景(Laravel如何创建服务器提供者实例代码)
- laravel设置跨域请求(Laravel实现ApiToken认证请求)
- laravel框架入门项目(在laravel框架中使用model层的方法)
- laravel设置跨域请求(解决laravel 出现ajax请求419unknown status的问题)
- 8月23日11时16分将迎处暑,逐渐进入气象意义上的秋天(8月23日11时16分将迎处暑)
- 花不语 下 如果重来一次的话,你还会这么选择吗(花不语下如果重来一次的话)
- 城市记忆之上海 最难忘的是老弄堂里的市井味道(城市记忆之上海)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 太鸡贼了,这老小区轻松搞定了停车问题(这老小区轻松搞定了停车问题)
- 节日我在岗|警景相融 平安相伴(节日我在岗警景相融)
热门推荐
- 什么是HttpHandler
- vue 动态绑定指令(vue动态绑定图标的完整步骤)
- MVC中报get_RazorKeywords()错误的解决方法
- left join on 查询
- ftp服务器登录错误(登陆FTP服务器提示530 Login authentication failed 错误的解决方法)
- 微信小程序scrollview 截图(微信小程序scroll-view不能左右滑动问题的解决方法)
- python快速数据分类(Python基于滑动平均思想实现缺失数据填充的方法)
- JavaScript脚本数据类型
- mysql常用的sql语句大全(mysql建表常用的sql语句汇总)
- dedecms的使用教程(解析DedeCms中data目录下的sessions是什么文件)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9