我很好奇,因为我找不到太多关于此的文档 - 如果我也想调用闭包,我将如何命名路由?
我已经找到了如何调用控制器函数,但没有找到如何命名路由的方法。
命名路线:
Route::get( '{foo}', ['as' => 'foo.home', 'uses' => 'FooController@home'] );
带控制器调用的关闭路由:
Route::get( '{foo}', function() {
$fooController = $app->make('FooController');
return $fooController->callAction('home', $parameters = array());
});
但是我找不到如何将路由的名称合并到第二个示例中。
您也可以使用带有 name
和 uses
的数组:
Route::get('{foo}', array('name' => 'foo.home', 'uses' => function(){
$fooController = $app->make('FooController');
return $fooController->callAction('home', $parameters = array());
}));
它也可以在没有uses
的情况下工作(Laravel识别类型Closure
Route::get('{foo}', array('name' => 'foo.home', function(){
$fooController = $app->make('FooController');
return $fooController->callAction('home', $parameters = array());
}));
最简单的方法是将其称为类
Route::get( '{foo}', function() {
return (new $fooController)->homeMethod($parameters);
})->name('foohome');;