Маршрутизация Laravel с замыканиями и именами

Мне любопытно, потому что я не могу найти много документации по этому вопросу — Как бы я назвал маршрут, если бы я также хотел вызвать закрытие?

Я нашел, как я могу вызвать функцию контроллера, но не как назвать маршрут.

Именованный маршрут:

Route::get( '{foo}', ['as' => 'foo.home', 'uses' => 'FooController@home'] );

Маршрут закрытия с вызовом контроллера:

Route::get( '{foo}', function() {
$fooController = $app->make('FooController');
return $fooController->callAction('home', $parameters = array());
});

Но я не могу найти, как включить название маршрута во второй пример.

1

Решение

Вы можете использовать массив с 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());
}));
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector