laravel如何向模板页面传递数据
本文介绍了laravel如何向模板页面传递数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
前台模板layout.blade.php页面部分代码:
<nav>{{ $message }}</nav>
<div class="container"> @yield('content') </div>
<footer></footer>
其余页面继承该页面。
nav中的message数据该如何从后台传递过来?是在每个内容页面的controller里都传递一次吗?这样觉得很麻烦 ;另外一个问题,如何在AppServiceProvider的boot()方法中使用Auth::user()->id在各种方式获取当前登录用户的id?
解决方案
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Auth;
class ComposerServiceProvider extends ServiceProvider
{
/**
* 在容器中注册绑定.
*
* @return void
* @author http://laravelacademy.org
*/
public function boot()
{
// 使用基于闭包的composers...
view()->composer('admin.header', function ($view) {
$data['order-remind']=null;
$data['order']=null;
$data['order-remind']=null;
$view->with('data',$data);
});
view()->composer('admin.nav', function ($view) {
$user=auth()->guard('admin')->user();
$view->with('user',$user);
});
view()->composer('agent.main', function ($view) {
$user=auth()->guard('agent')->user();
$view->with('user',$user);
});
view()->composer('account.main', function ($view) {
$user=auth()->guard('account')->user();
$wechat=Auth::guard('wechat')->user();
$view->with('account',$user)->with('wechatAccount',$wechat);
});
view()->composer(['wechat.js.index','wechat.activity.vote.main'], function ($view) {
$app=app('wechat');
$js=$app->js;
$view->with('js',$js);
});
}
/**
* 注册服务提供者.
*
* @return void
*/
public function register()
{
//
}
}
这篇关于laravel如何向模板页面传递数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文