我在每个页面都有一个标题,标题有成员标识。我创建了header.blade.php
,并包含在default.blade.php
中,这是这样的:
default.blade.php
<header>
@include('includes.header')
</header>
我需要将会员ID从controller.php
传递给header.blade.php
,这就是问题所在。怎么做?
答案 0 :(得分:4)
我建议使用view composer。这将允许您在任何请求中定义/分配任何给定模板的变量。为了演示,我将假设您的会员ID为#34;是5.您需要创建服务提供商,我已从文档中复制了此内容:
<?php namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class ComposerServiceProvider extends ServiceProvider {
/**
* Register bindings in the container.
*
* @return void
*/
public function boot()
{
// Using Closure based composers...
View::composer('includes.header', function($view)
{
return $view->with('memberId', 5);
});
}
/**
* Register
*
* @return void
*/
public function register()
{
//
}
}
您需要在config/app.php
中注册此服务提供商。完成此操作后,变量$memberId
将在您的标题模板中提供。 {{ $memberId }}