Мне трудно настроить маршруты с помощью файла config/routes.php
в Symfony 5.1.
Согласно документации по маршрутизации Symfony., я должен иметь возможность настроить свои маршруты в файле PHP:
Вместо определения маршрутов в классах контроллера вы можете определить их в отдельном файле YAML, XML или PHP. Основное преимущество заключается в том, что они не требуют дополнительной зависимости.
Но на практике Symfony распознает маршруты только в том случае, если я помещаю свои маршруты в файл routes.yaml
.
Маршруты, настроенные в файле routes.php, приводят к ошибке «Маршрут для GET /something не найден (404 Not Found)». При запуске debug:router
эти маршруты не отображаются.
Тот же маршрут отлично работает при настройке в routes.yaml
.
В другом проекте, использующем Symfony 5.0.8
, конфигурация маршрута через routes.php
работает как шарм.
Вот как я это проверял:
Создал контроллер (опущен, так как это не имеет значения, подойдет любой контроллер)
Создал файл
routes.php
:
//config/routes.php example
use App\Controller;
use Symfony\Component\Routing\Loader\Configurator\RoutingConfigurator;
return function(RoutingConfigurator $routes)
{
$routes->add('schools_list', '/schools')
->controller([Controller\SchoolController::class, 'list'])
->methods(['GET']);
};
- Запуск
debug:router
приведет к:
---------------- -------- -------- ------ --------------------------
Name Method Scheme Host Path
---------------- -------- -------- ------ --------------------------
_preview_error ANY ANY ANY /_error/{code}.{_format}
---------------- -------- -------- ------ --------------------------
- Настроил тот же маршрут внутри
routes.yaml
:
#config/routes.yaml
schools_list:
path: /schools
controller: App\Controller\SchoolController::list
methods: GET
- Запуск
debug:router
приведет к:
---------------- -------- -------- ------ --------------------------
Name Method Scheme Host Path
---------------- -------- -------- ------ --------------------------
_preview_error ANY ANY ANY /_error/{code}.{_format}
schools_list GET ANY ANY /schools
---------------- -------- -------- ------ --------------------------