详解Laravel视图间共享数据与视图Composer
1、在视图间共享数据除了在单个视图中传递指定数据之外,有时候需要在所有视图中传入同一数据,即我们需要在不同视图中共享数据。要实现这一目的,需要使用视图工厂的 全局帮助函数 namespace AppProviders;
use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider
/**
我们在 Route::get('testViewHome',function(){ 然后在 再创建一个 在浏览器中分别访问 2、视图Composer有时候我们想要在每次视图渲染时绑定一些特定数据到视图中,比如登录用户信息,这时候我们就要用到视图Composer,视图Composer通过视图工厂的composer方法实现。该方法的第二个回调参数支持基于控制器动作和闭包函数两种方式。 简单起见,我们还是基于 服务提供者,这里我们传递闭包参数(控制器动作参考视图文档):namespace AppProviders;
use IlluminateSupportServiceProvider; class AppServiceProvider extends ServiceProvider
} /**
修改 欢迎来到{{$sitename}}! 用户信息
用户名:{{$user['name']}}
用户头像:{{$user['avatar']}} 在浏览器中访问 用户信息 用户名:test 你也可以传递数据到多个视图: composer(['hello','home'],function($view){
$view->with('user','avatar'=>'/path/to/test.jpg'));
});
甚至所有视图(使用通配符*): composer('*','avatar'=>'/path/to/test.jpg'));
});
以上就是Laravel视图间共享数据及视图Composer的详细内容,希望本文对大家学习Laravel有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |