laravel 实现向公共模板中传值 (view composer)
发布:smiling 来源: PHP粉丝网 添加日期:2022-01-15 19:03:16 浏览: 评论:0
今天小编就为大家分享一篇laravel 实现向公共模板中传值 (view composer),具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。
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里这么写
- <?php
- namespace 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);
- });
Tags: laravel公共模板 composer
- 上一篇:浅谈laravel数据库查询返回的数据形式
- 下一篇:最后一页
相关文章
- ·Laravel向公共模板赋值方法总结(2021-11-28)
- ·laravel框架模板之公共模板、继承、包含实现方法分析(2021-12-13)
- ·Yii2使用小技巧之通过 Composer 添加 FontAwesome 字体资源(2021-03-01)
- ·Laravel中使用阿里云OSS Composer包分享(2021-05-11)
- ·composer.lock文件的作用(2021-07-08)
- ·使用Composer安装Yii框架的方法(2021-07-14)
- ·Laravel框架中composer自动加载的实现分析(2021-08-22)
- ·浅谈laravel 5.6 安装 windows上使用composer的安装过程(2022-01-08)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)