网络编程 
首页 > 网络编程 > 浏览文章

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

(编辑:jimmy 日期: 2024/5/9 浏览:3 次 )

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'));
});

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

上一篇:解决laravel资源加载路径设置的问题
下一篇:在Laravel 的 Blade 模版中实现定义变量
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网