Как загрузить маршруты, объявленные в подкаталоге dev? (в среде разработчиков)
Я тестирую Symfony с помощью Flex. У меня очень маленькое приложение, которое работает нормально (генератор счастливых чисел). Я хочу добавить web_profiler через Flex.
Я запускаю эту команду:composer require web_profiler --dev
Работает нормально, кеш успешно прогрелся. Но когда я проверял свою домашнюю страницу, произошла ошибка: маршрут "_wdt" не существует.
Я проверил новый config/routes/dev/web_profiler.yaml
файл. Он был создан Flex. Это содержит:
web_profiler_wdt:
resource: '@WebProfilerBundle/Resources/config/routing/wdt.xml'
prefix: /_wdt
web_profiler_profiler:
resource: '@WebProfilerBundle/Resources/config/routing/profiler.xml'
prefix: /_profiler
Вроде бы хорошо. Я копирую этот код и добавляю его в свой config/routes.yaml
, Ошибка исчезнет. Я понял, что мои файлы yaml в config/routes/dev
подкаталоги не загружены.
Почему мои файлы в /config/routes/dev subdirectory
не загружены? Какой шаг я забыл загрузить мои файлы конфигурации dev?
Вот мой .env
файл:
# This file is a "template" of which env vars needs to be defined in your configuration or in an .env file
# Set variables here that may be different on each deployment target of the app, e.g. development, staging, production.
# https://symfony.com/doc/current/best_practices/configuration.html#infrastructure-related-configuration
###> symfony/framework-bundle ###
APP_ENV=dev
APP_DEBUG=1
APP_SECRET=80b8077a9ccaaf2b5dd3427b512bae42
###< symfony/framework-bundle ###
Вот мой config/routes.yaml
файл
index:
path: /
defaults: { _controller: 'App\Controller\GeneratorController::numberAction' }
# Depends on sensio/framework-extra-bundle, doctrine/annotations, and doctrine/cache
# install with composer req sensio/framework-extra-bundle annot
controllers:
resource: ../src/Controller/
type: annotation
Это скриншот подкаталогов config. Я думаю, что я уважаю стандарты:
1 ответ
Кеш успешно прогрелся, но этого мало. Чтобы работало, я тоже должен очистить кеш.
В моем composer.json я добавил строку для команд пост-обновления:
"scripts": {
"auto-scripts": {
"assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd",
"security:check": "symfony-cmd",
"cache:clear --no-warmup": "symfony-cmd",
"cache:warmup": "symfony-cmd"
},
"post-install-cmd": [
"@auto-scripts"
],
"post-update-cmd": [
"@auto-scripts"
]
},
Добавлена строка: "cache:clear --no-warmup": "symfony-cmd"
Эта строка не обязательна при установке приложения, но необходима при обновлении.