布吉网站的建设wordpress站群管理系统
web/
2025/9/30 14:35:21/
文章来源:
布吉网站的建设,wordpress站群管理系统,海南省海洋监测预报中心,php网页开发我们都知道模板一般会用到继承#xff0c;导航栏就是一个很好的例子#xff0c;但是导航栏的数据如何共享#xff0c;比如有个导航的文件叫在view/navigation.blade.php为了简单一点#xff0c;文件里只有设置了一个变量1{{ $cqh }}现在的要求是每个页面都会用到这个变量导航栏就是一个很好的例子但是导航栏的数据如何共享比如有个导航的文件叫在view/navigation.blade.php 为了简单一点文件里只有设置了一个变量 1 {{ $cqh }} 现在的要求是每个页面都会用到这个变量如何共享这个数据呢 一般这样的操作我会在Laravel服务的boot方法里设置下面介绍两种共享数据的方法 方法一使用View:share方法如CqhServiceProvider里 1 2 3 4 public function boot() { View::share(cqh,chenqionghe); } 这是使用外观模式也可以直接使用view()方法 1 view()-share(cqh, chenqionghe); 方法二使用composer方法单独对这个navigation.blade.php进行传送数据方法如下 1 2 3 4 5 6 public function boot() { view()-composer(navigation, function ($view) { $view-with(cqh,chenqionghe); }); } 以上是使用闭包的形式来完成这个操作其实这和路由一样也可以用类来代替Laravel里叫组件方法如下 1 2 3 4 public function boot() { View::composer(navigation, App\Http\ViewComposers\MyViewComposer); } 上面这样就是注册了视图组件并且在每次 navigation视图渲染的时候MyViewComposercompose 都将会被执行。 下面我们来看这个组件怎么定义 1 2 3 4 5 6 7 8 9 ?php namespace App\Http\ViewComposers; use Illuminate\Contracts\View\View; class MyViewComposer { public function compose(View $view) { $view-with(cqh,chenqionghe); } } 在视图被渲染之前视图组件的 compose 方法就会被调用并且传入一个 Illuminate\Contracts\View\View 实例。你可以使用 with 方法来把数据绑定到 view。 注意方法一和方法二其实是有区别的方法一是对所有的视图都传递的cqh数据而方法二只是对navigation视图传递了cqh数据 如果方法二要达到方法一的效果可以这样 1 2 3 4 View::composer(*, function($view) { // }); 这样就会对所有视图进行传递了 也可以针对多个视图指定MyViewComposer组件 1 View::composer([navigation, footer], App\Http\ViewComposers\MyViewComposer); 也可以使用 composers 方法来同时定义一群视图组件 1 2 3 4 5 View::composers([ App\Http\ViewComposers\AdminComposer [admin.index, admin.profile], App\Http\ViewComposers\UserComposer user, App\Http\ViewComposers\ProductComposer product ]); 转载于:https://www.cnblogs.com/mouseleo/p/10312510.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84501.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!