Laravel 5:在视图编辑器中使用控制器 - 未找到控制器类

时间:2015-03-26 15:21:14

标签: php laravel laravel-5

我关注these instructions并为我的默认布局创建了一个视图编辑器。

我的 DefaultComposer.php 位于app / Http / ViewComposers下,因此下面使用了命名空间:

<?php namespace App\Http\ViewComposers;

use Illuminate\Contracts\View\View;

class DefaultComposer {

    public function compose(View $view) {

        $data['language'] = LanguageController::getDefaultLanguage();

        $view->with($data);
    }

}

?>

现在,当我加载页面时,出现以下错误:

未找到类'App \ Http \ ViewComposers \ LanguageController'

这是因为 LanguageController.php 位于app / Http / Controllers下,这是一个不同的命名空间。

如何在LanguageController中使用DefaultComposer课程?


更新

使用此声明:

use App\Http\Controllers\LanguageController as LanguageController;

抛出:类'App \ Http \ Controllers \ LanguageController'找不到。我很困惑。

1 个答案:

答案 0 :(得分:1)

我想出来了。由于我的应用程序中的控制器位于全局命名空间中,所以我需要做的就是在类名前面添加一个反斜杠。

所以不要这样:

$data['language'] = LanguageController::getDefaultLanguage();

我这样做了:

$data['language'] = \LanguageController::getDefaultLanguage();