Laravel 路由文件中的命名空间控制器

Laravel 路由文件中的命名空间控制器,laravel,laravel-5,Laravel,Laravel 5,我创建了一个包,它使用来自某个命名空间的控制器 Route::get('login','Full\Name\Space\login\LoginController@method'); 路由::get('other',Full\Name\Space\other\OtherController@method'); 是否有一种“Laravel”方法可以在routes文件的顶部定义一次名称空间,以便缩短这些控制器路径?差不多 使用“Full\Name\Space”; 路由::get('login','

我创建了一个包,它使用来自某个命名空间的控制器

Route::get('login','Full\Name\Space\login\LoginController@method');
路由::get('other',Full\Name\Space\other\OtherController@method');
是否有一种“Laravel”方法可以在routes文件的顶部定义一次名称空间,以便缩短这些控制器路径?差不多

使用“Full\Name\Space”;
路由::get('login','login\LoginController@method');
路由::get('other','other\OtherController@method');
当然,您可以:

Route::group(['namespace'=>'foo/1/2'],function(){
    Route::get('specify_your_route', 'BarController@index')
});

路由将保留为“指定您的路由”,但不是
\Base\Controller\Namespace\BarController
路由器将使用
\foo\1\2\BarController

命名空间参数应用于控制器类,而不是路由。路由将保留为“指定您的路由”,但控制器路由器将使用\Base\Controller\Namespace\foo\1\2代替\Base\Controller\Namespace\bar\BarController@jedrzej.kurylo非常感谢,指出我愚蠢的错误。我已经用你的答案更新了我的答案。再说一遍,这还不是全部,因为它仍然使用基本控制器名称空间,然后附加名称空间参数的值。OP希望在routing中指定完全限定的命名空间-$namespace属性RouteServiceProvider需要设置为空字符串才能实现此目的。或者,如果所有控制器都存储在\Full\Name\Space中,则可以将其设置为\Full\Name\Space。