如何在控制器中使用View Composer变量

时间:2018-11-21 12:05:47

标签: laravel

我正在尝试在同一控制器中使用View Composer $view_name变量,但这给了我错误。

仅适用于所有视图,不适用于控制器

我想在同一控制器中使用该变量。

我的控制器:

public function boot()
{  
    view()->composer('*', function($view){
        $view_name = str_replace('.', '-', $view->getName());
        view()->share('view_name', $view_name);
    });

    $page_name=substr(strrchr(url()->current(),"/"),1);
    if($page_name==request()->server('HTTP_HOST')) {
        $keywords=keyword::where('page_name','index')->where('active','1')->first();
    } else {
        $keywords=keyword::where('page_name',$page_name)->where('active','1')->first();
    }
}

1 个答案:

答案 0 :(得分:0)

您可以创建一个中间件来填充Configuration变量,所有框架中的配置始终可用。

public function handle()
{
    config(['myCustomConfig.email' => 'me@example.com']);
}

在您的控制器上

$data = config('myCustomConfig.email');

在您的查看文件上

<div>{{ config('myCustomConfig.email') }} </div>