2011-11-03 41 views
0

一个的ressource出包的链接使用这种配置我可以成功访问到我的树枝延伸:如何Symfony2的config.yml

services: 
    foo.twig.extension: 
    class: Bundle\HelloBundle\Extension\MyTwigExtension 
    tags: 
     - { name: twig.extension } 

但现在我想举办这次延长了使用的束它随处可见。我需要这样的东西:(下面的代码不起作用)

services: 
    foo.twig.extension: 
    class: "%kernel.root_dir%\Resources\Extension\MyTwigExtension 
    tags: 
     - { name: twig.extension } 

任何想法?

回答

0

我想你可以把它放在自动加载器处理的任何目录中(或者你可以添加到自动加载器中)。

换句话说,你应该给在配置类名而不是类路径。只要它被自动加载,它就可以工作。

例如,你可能把你的扩展到库中的的src/TwigExtensions目录称为TwigExtensions

services: 
     foo.twig.extension: 
     class: "TwigExtensions\Extension\MyTwigExtension 
     tags: 
      - { name: twig.extension } 

这样你的扩展将是Symfony的独立。

类似设置的好例子是DoctrineExtensionsDoctrineExtensionsBundle