Управление 400+ маршрутами в Laravel с автозаполнением PhpStorm

Мне интересно, как бороться с 400+ маршрутами.

В настоящее время мы разделяем все маршруты на несколько файлов в соответствии с пространством имен контроллера, к которому они принадлежат.

Структура App/Http/Routes выглядит примерно так:

- Auth.php
- Marketing.php
- Orders.php

Все наши маршруты названы. Но тут возникает актуальная проблема, с которой мы столкнулись.

Наши маршруты именуются с помощью классов, заполненных константами, которые определяют имя маршрута.

namespace App\Http\Controllers\Marketing;

class RouteConstants
{
/**
* MarketingController
*/
const INDEX = 'marketing.index';
const DISABLED = 'marketing.disabled';

Эти классы констант находятся в пространстве имен контроллера. Затем они используются в Marketing.php Файл маршрутов выглядит так:

/**
* Marketing Routes
*/
Route::group(['namespace' => 'App\Http\Controllers\Marketing'], function() {

/**
* MarketingController Routes
*/
Route::get('marketing/overview', [
'uses' => 'MarketingController@index',
'as' => MarketingRoutes::INDEX
]);

Route::get('marketing/disabled', [
'uses' => 'MarketingController@showDisabled',
'as' => MarketingRoutes::DISABLED
]);```

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

Но проблема в том, что мы используем две системы одновременно. Внутренняя система имен маршрутизации Laravel, и в то же время мы используем нашу собственную систему, определяющую имена как константы.

Должен быть лучший способ управлять таким количеством маршрутов и иметь возможность проверять использование в файлах проекта.

В настоящее время это также довольно грязно в наших взглядах:

<a href="{{ route(App\Http\Controllers\Marketing\RouteConstants::INDEX) }}">Marketing</a>

Я уже пробовал плагин Laravel для PhpStorm, но он не работает должным образом при наличии папки с маршрутами, которые автоматически загружаются в RouteServiceProvider,

7

Решение

Отмеченный в журнале изменений плагина Laravel для PhpStorm (версия 0.11), была добавлена ​​поддержка структуры маршрутов Laravel 5.3.

Я предлагаю вам переместить каталог маршрутов в корневой каталог вашего проекта. Так же, как у Laravel 5.3.
Например: app/Http/Routes/ становится routes/,

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

Надеюсь это поможет!

1

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

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

С другой стороны, вы можете посмотреть в документации на Route :: resource, где ваш файл маршрутов станет намного меньше, так как он автоматически настраивает все неработающие маршруты и затем передает ответственность контроллеру.

1

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