在Symfony2.0中,我想在使用app.php(prod-env)时禁用router.yml中的一些url


In Symfony2.0, I want to disable some url in router.yml when using app.php (prod env)?

当使用app_dev.php时,有一些有用的url可供我调试项目。如

check_debug:
    pattern: /check_url1
    defaults: {....}
check_debug_and_prod:
    pattern: /check_url2
    defaults: {....}
check_prod:
    pattern: /check_url3
    defaults: {....}

当我使用app.php(prod-env(时,我想禁用"check_debug",当我使用app_dev.php(dev-env(时禁用"check_prod",并且在使用app.php或app_dev.php时都保留"check_debug_and_prod"。

如何在SF2中进行配置?

您可以为不同的环境拥有多个routing.yml文件。例如app/config/routing.ymlapp/config/routing_dev.yml

您可以针对不同的环境使用不同的路由文件:

  1. 创建src/AAA/Bundle/CCBundle/Resource/config/routing.yml
  2. 创建src/AAA/Bundle/CCBundle/Resource/config/routing_dev.yml
  3. app/config/routing.yml中包含src/AAA/Bundle/CCBundle/Resource/config/routing.yml
  4. app/config/routing_dev.yml中包含src/AAA/Bundle/CCBundle/Resource/config/routing_dev.yml

您可以使用routing_dev.yml来添加您只在开发模式下需要的路由。当你使用app.php时,它只会检查routing.yml,这样你就不必被不想要的路线所困扰。

您也可以创建自己的路由文件。查看Sf2如何处理导入内部yml文件。