Laravel Route Group for Views

时间:2017-05-01 06:43:36

标签: php laravel laravel-5 laravel-routing laravel-views

我在Laravel /routes/web.php中有以下配置:

Route::group(['prefix' => 'admin'], function(){
    Route::get('/', function() {
        return view('admin.login');
    });
});

如果您发现,我已经提到view('admin.login')此次调用/resources/views/admin/login.blade.php。这至今仍然很好。

但是对于这个路线组,我将在/resources/views/admin内拥有所有观点。因此,我不想在每个视图名称之前使用admin

是否有Route::group级别的可能参数,我可以通过该参数定义视图的命名空间,以便Laravel在/resources/views/内的特定目录中搜​​索我的视图?

2 个答案:

答案 0 :(得分:1)

您可以使用

View::addNamespace('admin', '/path/to/admin/views');View::addLocation('/path/to/your/admin/views');

在路线文件中指定管理员视图文件夹。

使用您可以使用的第一种方法 return view('admin::view.name');使用第二种方法,您可以直接使用视图名称,例如return view('view.name');

答案 1 :(得分:1)

我遇到了同样的问题并创建了一个有效的辅助功能...... 在app目录app\Helpers\functions.php

下添加了一个帮助程序目录
function adminView($file){
   return view('foo.' . $file);
}
在composer.json文件中

注册了这个文件

"autoload-dev": {
    "psr-4": {
        "Tests\\": "tests/"
    },
    "files": ["app/Helpers/functions.php"]
},

只需运行composer dump-autoload即可使用此辅助函数