我是Laravel的新手,我尝试使用named routes生成网址,但我找不到与此方案相关的任何文档。我想生成网址对于Laravel随附的默认基于身份验证的路由,但来自Silex我真的不喜欢使用url
函数生成URL并指定路径的想法..我喜欢使用我给出的绑定名称路由(here are some examples from silex),有没有办法指定一个名称(或者我是否可以使用动态名称)来生成使用Route::controller
或Route::controllers
定义的路由的URL?例如,我会在模板中传递给route
以生成logout
网址?
Route::controllers([
'auth' => 'Auth\AuthController',
'password' => 'Auth\PasswordController',
]);
如果我想这样做,我是否只需要挖掘特征并手动指定每种控制器方法?
答案 0 :(得分:0)
您可以将第3个参数中的路径名称设置为controller
:
Route::controller('auth', 'Auth\AuthController', [
'getLogin' => 'auth.login',
]);
没有办法大规模分配它们。
答案 1 :(得分:0)
使用Route::controller
时,您可以设置不同控制器操作的名称:
Route::controller('auth', 'Auth\AuthController', [
'getLogin' => 'auth.login',
'getLogout' => 'auth.logout',
// and so on
]);
但是,您也可以使用action()
帮助程序代替route()
或url()
。它允许您指定要为其生成URL的控制器和方法:
action('Auth\AuthController@getLogin')