Laravel 视图的路由组

Laravel Route Group for 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/ 内的特定目录中搜​​索我的视图?

您可以使用

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

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

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

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

下添加了一个 helpers 目录
function adminView($file){
   return view('foo.' . $file);
}

在composer.json文件中注册了这个文件

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

只需 运行 composer dump-autoload 就可以使用这个辅助函数