服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - Laravel基础_关于view共享数据的示例讲解

Laravel基础_关于view共享数据的示例讲解

2021-09-02 17:03csdn_yasin PHP教程

今天小编就为大家分享一篇Laravel基础_关于view共享数据的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

1.所有视图共享数据(share)

当所有视图都需要同一个数据时,使用视图工厂的share方法。

全局帮助函数view,如果传入参数,则返回Illuminate\View\View实例,不传入参数则返回Illuminate\View\Factory实例。所以我们可以通过在服务提供者(app\Providers\AppServiceProvider.php)的boot方法中使用如下方式实现视图间共享数据:

?
1
2
3
4
5
6
7
8
9
10
/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
 //视图间共享数据
 view()->share('share','share');
}

然后在你的任何一个视图文件中这样写:

?
1
{{ $share }}

就会输出这个变量。

2.部分视图共享数据(Composer)

当一部分视图文件中需要同一个数据的时候,比如登录信息,可以通过视图工厂的composer方法实现。

简单起见,我们还是基于AppServiceProvider,不去单独创建服务提供者。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
 * 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视图模板文件中就可以使用一下代码来输出。

?
1
2
{{ $user['name'] }}
{{ $user['age'] }}

你也可以传递数据到多个视图:

?
1
2
3
view()->composer(['hello','home'],function($view){
 $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
});

甚至所有视图(使用通配符*):

?
1
2
3
view()->composer('*',function($view){
 $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
});

以上这篇Laravel基础_关于view共享数据的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/csdn_yasin/article/details/51995156

延伸 · 阅读

精彩推荐