如何加载dev子目录中声明的路由? (在开发环境中)

时间:2017-08-22 09:55:25

标签: symfony profiler symfony-3.3 symfony-flex

我正在使用Flex测试Symfony。我有一个非常小的应用程序,工作正常(幸运数字生成器)。我想通过Flex添加web_profiler。

我启动此命令: 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。错误消失了。我明白我的config/routes/dev子目录中的yaml文件未加载。

为什么/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子目录的屏幕截图。我认为我尊重标准: This is the screenshot of the config subdirectories

1 个答案:

答案 0 :(得分:0)

缓存已经成功预热,但这还不够。为了工作,我也必须清除缓存。

在我的composer.json中,我为post更新命令添加了一行:

  "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"

安装应用程序时不需要此行,但在更新期间需要此行。