Laravel在视图间共享数据及视图Composer的例子
甚至所有视图(使用通配符*): */
{{$sitename}}首页
Route::get('testViewHello',function(){
//
view()->composer('*',function($view){
{
*
我们在routes.php中定义两个路由:
});
public function boot()
return view('hello');
view()->share('sitename','Laravel学院');
namespace App\Providers;
然后在resources/views目录下创建一个home.blade.php视图文件,内容如下:namespace App\Providers;
public function register()});
用户名:{{$user['name']}}<br>
view()->composer(['hello','home'],function($view){
public function boot()
{
* Register any application services.
}
* Bootstrap any application services.
简单起见,我们还是基于AppServiceProvider,不去单独创建服务提供者,这里我们传递闭包参数(控制器动作参考视图文档):
//视图Composer
*
用户信息
* @return void本文章来为各位介绍一篇关于Laravel在视图间共享数据及视图Composer的例子,希望文章能够让各位清楚Laravel 视图这个知识点。
在浏览器中访问:8000/testViewHello,输出内容如下: * Register any application services.*/
* @return void
}); $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
{
在浏览器中分别访问:8000/testViewHello和:8000/testViewHome,则都能解析出$sitename的值。 }
use Illuminate\Support\ServiceProvider;
全局帮助函数view和前面一节提到的response类似,如果传入参数,则返回Illuminate\View\View实例,不传入参数则返回Illuminate\View\Factory实例。所以我们可以通过在服务提供者的boot方法中使用如下方式实现视图间共享数据:
*{
}
/**
$view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));
视图的基本使用很简单,可查看视图文档了解详情,这里我们演示两个使用示例:在视图间共享数据和视图Composer。
修改hello.blade.php视图文件: $view->with('user',array('name'=>'test','avatar'=>'/path/to/test.jpg'));* @return void
再创建一个hello.blade.php视图文件: });
用户头像:/path/to/test.jpg
view()->composer('hello',function($view){
return view('home');
{
}
* @return void
2、视图Composer
*/
有时候我们想要在每次视图渲染时绑定一些特定数据到视图中,比如登录用户信息,这时候我们就要用到视图Composer,视图Composer通过视图工厂的composer方法实现。该方法的第二个回调参数支持基于控制器动作和闭包函数两种方式。
/**
* Bootstrap any application services.
//
用户名:test
欢迎来到{{$sitename}}!
欢迎来到Laravel学院!
用户头像:{{$user['avatar']}}class AppServiceProvider extends ServiceProvider
//视图间共享数据
1、在视图间共享数据
/**
{
除了在单个视图中传递指定数据之外,有时候需要在所有视图中传入同一数据,即我们需要在不同视图中共享数据。要实现这一目的,需要使用视图工厂的share方法。
Route::get('testViewHome',function(){
}
<?php
use Illuminate\Support\ServiceProvider;
public function register()欢迎来到{{$sitename}}!
class AppServiceProvider extends ServiceProvider
*/
你也可以传递数据到多个视图:
/**
<?php
<h3>用户信息</h3>
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jq/jc/6316.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
PHP识别相片是否是颠倒的
时间:2020-12-28
-
python编程有哪些ide
时间:2020-12-28
-
python开发工程师是做什么
时间:2020-12-28
-
php构造函数的作用
时间:2020-12-28
-
php怎么跟数据库连接
时间:2020-12-28
-
php实现顺序线性表
时间:2020-12-28
-
Python多重继承中的菱形继
时间:2020-12-28
-
php中break的作用
时间:2020-12-28
热门文章
-
php中常用的正则表达式使用方法
时间:2020-12-25
-
asp与php区别是什么?
时间:2020-12-27
-
PHP识别相片是否是颠倒的,并且重新摆正
时间:2020-12-28
-
Yii授权之基于角色的存取控制 (RBAC)
时间:2020-12-23
-
php的一键安装包有哪些 php环境搭建
时间:2020-12-19
-
php实现对图片对称加解密(适用身份证加
时间:2020-12-25
-
php如何理解面向对象
时间:2020-12-28
-
超详细分析php docker的原理及作用
时间:2020-12-27
-
Python控制Excel实现自动化办公
时间:2020-12-23
-
session的作用是什么
时间:2020-12-25
