Как я могу организовать маршруты Laravel без повторения контроллера и функций? - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть этот код, но он очень многословный. Как я могу написать это короче?

Route::get('/transaction/index', 'TransacaoController@index');
Route::get('/transaction/test1', 'TransacaoController@test1');
Route::get('/transaction/test2', 'TransacaoController@test2');
Route::get('/transaction/test3', 'TransacaoController@test3');
Route::get('/transaction/test4', 'TransacaoController@test4');

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Это может зависеть от того, как вы предпочитаете организовать свою инфраструктуру. Писать меньше не всегда является синонимом порядка.

Вы можете использовать group() для применения промежуточного программного обеспечения или префиксов к вашим маршрутам:

Route::group(['middleware' => ['custom'], 'prefix' => 'transaction'], function(){
    Route::get('/index', 'TransacaoController@index');
    Route::get('/test1', 'TransacaoController@test1');
    Route::get('/test2', 'TransacaoController@test2');
    Route::get('/test3', 'TransacaoController@test3');
    Route::get('/test4', 'TransacaoController@test4');
});

Теперь есть еще один вариант (не рекомендуется). Вы можете использовать уникальный маршрут, разделяющий вашу логику на уровне контроллера:

Route::get('/transaction/{action}', 'TransacaoController@action');

function action($action){
    if ($action == 'index'){
         // ...
    }
}
0 голосов
/ 16 ноября 2018

Не уверен, если вы говорите о префиксах маршрутов в Laravel.

Префиксы маршрутов Префиксный метод может использоваться для префикса каждого маршрута в группе с заданным URI.Например, вы можете захотеть поставить перед всеми URI маршрута в группе префикс admin:

Route::prefix('admin')->group(function () {
    Route::get('users', function () {
        // Matches The "/admin/users" URL
    });
});

Извлечено из https://laravel.com/docs/5.7/routing

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...