Как загрузить маршруты, объявленные в подкаталоге 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. Я думаю, что я уважаю стандарты: Это скриншот подкаталогов 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"

Эта строка не обязательна при установке приложения, но необходима при обновлении.

Другие вопросы по тегам