将值返回到每个页面的标题Laravel

时间:2015-04-30 04:45:55

标签: php laravel

我在每个页面都有一个标题,标题有成员标识。我创建了header.blade.php,并包含在default.blade.php中,这是这样的:

default.blade.php

<header>
    @include('includes.header')
</header>

我需要将会员ID从controller.php传递给header.blade.php,这就是问题所在。怎么做?

1 个答案:

答案 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 }}