2012-02-13 72 views

回答

1

你肯定有這樣的樹枝延伸的服務定義是這樣的:

<service id="test_post_extension" class="Test\PostBundle\Twig\Extensions\TestPostExtension"> 
     <tag name="twig.extension" /> 
    </service> 

你可以在你的注入任何其他服務,如twig.extension.trans服務。

的XML成爲:

<service id="test_post_extension" class="Test\PostBundle\Twig\Extensions\TestPostExtension"> 
     <tag name="twig.extension" /> 
     <argument type="service" id="twig.extension.trans" /> 
    </service> 

你TestPostExtension類然後將收到一個Symfony\Bridge\Twig\Extension\TranslationExtension作爲其構造函數的第一個參數:

namespace Test\PostBundle\Twig\Extensions; 

class TestPostExtension extends \Twig_Extension 
{ 
    public function __construct(Symfony\Bridge\Twig\Extension\TranslationExtension $transExt) { 
     $this->transExt = $transExt; 
    } 

    // some stuff 
}