我的 SF2 Bundle 中有以下配置
parameters:
catalogue.title.class: My\SomeBundle\Services\TitleService
services:
catalogue.title:
class: %catalogue.title.class%
这就像一个魅力。
现在我想增强配置的服务并对其进行标记,以便knp_paginator
注入(我也尝试过使用其他标记)。我的配置变为:
parameters:
catalogue.title.class: My\SomeBundle\Services\TitleService
services:
catalogue.title:
class: %catalogue.title.class%
tags:
- { name: knp_paginator.injectable, paginator: knp_paginator }
为了使提到的标签起作用,服务实现了Knp\Bundle\PaginatorBundle\Definition\PaginatorAware
. 如KnpPaginatorBundle文档中所述。
运行我的应用程序将显示以下内容:
ReflectionException: Class %catalogue.title.class% does not exist
.
由于它无需添加tags
部件即可工作,因此我知道该类确实存在。
用参数的值(完全限定的类名)替换%catalogue.title.class%
可以解决问题,但是我们在所有项目中都使用这种方式来配置我们的服务类,并且真的不想为了解决这个问题而偏离这种方式。
[编辑] 使用不同的参数,如catalogue_title_class
ormy_abc
具有相同的结果。
我正在运行 Symfony 2.3.5 版。
我究竟做错了什么?