Laravel基础_关于view共享数据的示例讲解
发布:smiling 来源: PHP粉丝网 添加日期:2022-01-03 20:37:31 浏览: 评论:0
今天小编就为大家分享一篇Laravel基础_关于view共享数据的示例讲解,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。
1.所有视图共享数据(share)
当所有视图都需要同一个数据时,使用视图工厂的share方法。
全局帮助函数view,如果传入参数,则返回Illuminate\View\View实例,不传入参数则返回Illuminate\View\Factory实例。所以我们可以通过在服务提供者(app\Providers\AppServiceProvider.php)的boot方法中使用如下方式实现视图间共享数据:
- /**
- * Bootstrap any application services.
- *
- * @return void
- */
- public function boot()
- {
- //视图间共享数据
- view()->share('share','share');
- }
然后在你的任何一个视图文件中这样写:
{{ $share }}
就会输出这个变量。
2.部分视图共享数据(Composer)
当一部分视图文件中需要同一个数据的时候,比如登录信息,可以通过视图工厂的composer方法实现。
简单起见,我们还是基于AppServiceProvider,不去单独创建服务提供者。
- /**
- * Bootstrap any application services.
- *
- * @return void
- */
- public function boot()
- {
- //视图间共享数据
- view()->share('share','share');
- //视图Composer
- view()->composer('admin',function($view){
- $view->with('user',array('name'=>'lili','age'=>'18'));
- });
- }
这样,在admin视图模板文件中就可以使用一下代码来输出。
{{ $user['name'] }}
{{ $user['age'] }}
你也可以传递数据到多个视图:
- view()->composer(['hello','home'],function($view){
- $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
- });
甚至所有视图(使用通配符*):
- view()->composer('*',function($view){
- $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
- });
Tags: Laravel共享数据 view共享数据
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)