В Laravel уже есть routes/web.php
и routes/api.php
, но бывают случаи, когда вы хотите не просто ограничить группу маршрутов внутри этих файлов, а вынести ряд путей в отдельный файл. Сделать это можно следующим образом.
Для начала создадим новый файл с маршрутами, например, назовём его control.php
и внутри него будем держать все пути, связанные с панелью управления сайтом.
Теперь созданный файл следует добавить внутрь RouteServiceProvider
, чтобы он загружал в приложение файл routes/control.php
. Для этого внутри класса App\Providers\RouteServiceProvider
объявляем метод mapControlRoutes
и внутри него производим привязку нового файла с middleware
, которые будут для него нужны, а также можем задать общие для всех маршрутов этого файла параметры, например, префикс или домен, на котором они должны находиться.
После добавления метода mapControlRoutes
, необходимо его вызвать из метода RouteServiceProvider::map
, чтобы именно произошла загрузка новых путей в приложении. На этом все, что нужно для работы маршрутов из кастомного файла закончено.
Убедиться, что вы всё правильно написали можно с помощью выполнения в корне проекта команды:
1 |
php artisan route:list |
Новые пути будут видны в результате выполнения этой команды и вы можете теперь с ними работать.