Сокращение естественно длинных laravel маршрутов для удобства чтения - PullRequest
0 голосов
/ 09 апреля 2020

У меня очень длинный маршрут, который продолжает приводить к ошибкам ворса из-за длины линии. Я обычно игнорирую эти ошибки, но мне было интересно, есть ли способ как-нибудь сократить эту строку?

Route::get('/become-an-awesome-preferred-customer/thank-you', 'HomepageController@getThankYouPage')->name('/become-an-awesome-preferred-customer/thank-you');

1 Ответ

1 голос
/ 09 апреля 2020

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

$uri = '/become-an-awesome-preferred-customer/thank-you';
Route::get(
    $uri,
    'HomepageController@getThankYouPage'
)->name('thankYou');

Если у вас возникла проблема с длиной маршрута при создании URL в вашем представлении, вы, конечно, можете дать ему другое имя, нежели фактический URI, как вы делали в своем примере.
https://laravel.com/docs/7.x/routing#named -routes

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

В качестве последнего варианта вы можете использовать префикс с помощью группы маршрутов. Но это имеет смысл, только если у вас есть другие маршруты с '/become-an-awesome-preferred-customer' -частью в первой позиции.

Route::prefix('become-an-awesome-preferred-customer')->group(function () {
    Route::get('thank-you', 'HomepageController@getThankYouPage');
});

Вы также можете связать эти префиксы друг с другом:

Route::prefix('become-an-awesome-preferred-customer')->group(function () {
    Route::prefix('something-else')->group(function () {
        Route::get('thank-you', 'HomepageController@getThankYouPage');
    });
});

который даст вам маршрут
your-app.com/become-an-awesome-preferred-customer/something-else/thank-you.

https://laravel.com/docs/7.x/routing#route -group-prefixes

Надеюсь, это может помочь немного

...