Symfony2 - 管理涉及2种捆绑的路由

时间:2014-12-30 12:28:13

标签: symfony

我是Symfony2的初学者,我正在研究Symfony2项目,其中一种通用捆绑,比如说CoreBundle,正在管理所有路由(在这种形式中,first.domain / a-route,second.domain / a-route,third.domain / a-route,...)网站。现在我一直在创建FirstBundle,SecondBundle,ThirdBundle,其想法是将每个子域(第一,第二,第三,......)的路由管理“转移”到相关的包。

首先通过编辑/app/config/routing.yml文件将路径从CoreBundle传输到FirstBundle:

resource: "@ProjectFirstBundle/Resources/config/routing.yml"

    prefix: /

host: "{subdomain}.{domain}"

    defaults: { _controller: ProjectFirstBundle:Public:aroute }

      domain: %project_domain%

    requirements:

      domain: "%project_domain%"

      subdomain:  'first'

为:

resource: "@ProjectFirstBundle/Resources/config/routing.yml"

    prefix: /

然后使用以下内容创建FirstBundle / Resources / config / routing.yml文件:

project_first_aroute:

    path:    /a-route

    host: "{subdomain}.{domain}"

    defaults: { _controller: ProjectFirstBundle:Public:aroute }

      domain: %project_domain%

    requirements:

      domain: "%project_domain%"

      subdomain:  'first'

当然,我使用与CoreBundle相同的模式创建了控制器和视图文件(通过对.twig文件进行适配 - 继承)。结果,在运行first.domain / a-route:

时返回以下异常

致命错误:未捕获异常'Symfony \ Component \ Yaml \ Exception \ ParseException',消息'无法在第15行解析(靠近“domain:%project_domain%”)。在

有关如何有效实现目标的任何建议?

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

我发现我应该创建FirstBundle / Resources / config / routing.yml文件,如下所示:

project_first_aroute:

path:    /a-route

host: "{subdomain}.{domain}"

defaults: { _controller: ProjectFirstBundle:Public:aroute, domain: "%project_domain%" }      

requirements:

  domain: "%project_domain%"

  subdomain:  'first'

答案 1 :(得分:0)

错误消息是来自 Yaml 解析器的语法错误。

请注意,正确的标识在Yaml文件中是必不可少的,并检查是否需要在第一次出现时将%project_domain括在引号中(请参阅stackoverflow语法突出显示,它看起来很奇怪)。

-

在Symfony2中调试路由

app/console router:debug