且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Symfony2 Route全局{_locale}要求

更新时间:2023-11-26 15:14:40

我发现了一种方法:

使用主路由导入路由配置。由于我的捆绑包通常包含太多信息,因此我一直将控制器,资源和路由分隔在不同的模块中。这种方法的结果是,我发现了这一点:

Using a "master" routing to import the routing config. As my bundles usually have too much information, I have been separating the controllers, resources and routes in differents "modules". As result of that approach, I have discovered this:

主路由.yml

ProjectBaseBundle_default:
    resource: "@ProjectBaseBundle/Resources/config/routing-default.yml"
    prefix:   /{_locale}/project/
    requirements:
        _locale: en|es|de|fr

子路由- default.yml

ProjectBaseBundle_default_privacy:
    pattern:  /privacy
    defaults: { _controller: ProjectBaseBundle:Default:privacy }

ProjectBaseBundle_default_legal:
    pattern:  /legal
    defaults: { _controller: ProjectBaseBundle:Default:legal }

ProjectBaseBundle_default_usage:
    pattern:  /usage
    defaults: { _controller: ProjectBaseBundle:Default:usage }

通过此路由配置,我将需要编写语言环境要求的地方减至最少。

With this routing config, I minimize the places where need to write the locale requirements.