在laravel 5.6中的路由上定义自定义命名空间

时间:2018-04-27 03:03:18

标签: php laravel-5 routing laravel-5.6

所以请考虑以下事项:

Route::middleware('web')
    ->namespace('App\Modules\Config\Controllers')
    ->group(function () {
        Route::get('config', ['as' => 'config.index',  'uses' => 'Config@index']);
        Route::put('config', ['as' => 'config.update', 'uses' => 'Config@update']);
        Route::patch('config', 'Config@update');
    });

当我点击这些路线时会爆炸,因为:

Class App\Http\Controllers\App\Modules\Config\Controllers\Config does not exist

在laravel 5.6中没有办法说:不,我不想使用App\Http\Controllers我想使用我指定的命名空间?

2 个答案:

答案 0 :(得分:0)

尝试使用斜杠

->namespace('\App\Modules\Config\Controllers')

答案 1 :(得分:0)

如果查看RouteServiceProvider,您会发现存在属性

protected $namespace = 'App\Http\Controllers';

这是你的root namespase,你可以改变它,例如:

protected $namespace = 'App\Modules\Config\Controllers';

或者直接在路径文件中擦除并设置namespase以用于任何组。