我希望Route::group()
使用闭包而不是使用laravel语法来使用特定的命名空间。而不是
Route::group(['namespace' => 'My\Namespace\For\Controllers'), function () {
// TestController found in `My\Namespace\For\Controllers`
Route::resource('resource/url', TestController@test)
}
我想知道是否有可能有像
这样的东西Route::group(function () {
// Some logic for using the `My\Namespace\For\Controllers`
// namespace for all routes within this group
// Controller found in `My\Namespace\For\Controllers`
Route::resource('resource/url', Controller@test)
}
我想要这个功能,所以我可以根据传递给路由的参数动态决定控制器名称空间。
答案 0 :(得分:2)
我想这样做的正确方法是创建中间件,但定义不是route.php
文件。
https://laravel.com/docs/5.2/middleware
<强>更新强>
如果只需要为组中的所有控制器设置名称空间,可以这样做:
Route::group(['namespace' => 'My\Namespace\For\Controllers'], function() {
// Controllers within the "My\Namespace\For\Controllers" namespace
});