在 laravel 5.6 中的路由上定义自定义命名空间
Defining custom namespaces on routes in 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
我想使用我指定的名称空间?
尝试使用斜杠
->namespace('\App\Modules\Config\Controllers')
如果你查看 RouteServiceProvider
你会发现存在 属性
protected $namespace = 'App\Http\Controllers';
这是您的根命名空间,您可以更改它,例如:
protected $namespace = 'App\Modules\Config\Controllers';
或者直接在路由文件中为任何组擦除并设置名称空间。
所以请考虑以下几点:
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
我想使用我指定的名称空间?
尝试使用斜杠
->namespace('\App\Modules\Config\Controllers')
如果你查看 RouteServiceProvider
你会发现存在 属性
protected $namespace = 'App\Http\Controllers';
这是您的根命名空间,您可以更改它,例如:
protected $namespace = 'App\Modules\Config\Controllers';
或者直接在路由文件中为任何组擦除并设置名称空间。