2014-11-06 59 views

回答

1

是,按照these docs,你可以简单地添加到您的注入whatever.yml文件,您已经添加到您的包:

twig: 
    # ... 
    globals: 
     foo: bar 

然后你使用{{ foo }}

以注入whatever.yml文件到您的包配置(和回Symfony的),你应该follow these instructions重提它在你的嫩枝模板。这是你的下面一行添加到您的位于DependencyInjectionExtension文件load()功能(通常它是由当您使用php app/console generate:bundle):

use Symfony\Component\DependencyInjection\Loader; 
use Symfony\Component\Config\FileLocator; 

// ... 
public function load(array $configs, ContainerBuilder $container) 
{ 
    $loader = new Loader\YamlFileLoader(
     $container, 
     new FileLocator(__DIR__.'/../Resources/config') 
    ); 
    $loader->load('services.yml'); 
    $loader->load('whatever.yml'); // Your new line 
} 
+0

但/我parameters.yml是不是在应用程序/配置,因为它是现在在每个bundle的Resource/config /中,所以config.yml找不到变量。这就是为什么我们需要为每个树枝捆绑定义变量。一个为每个树枝包定义全局变量的文件 – fgonzalez 2014-11-06 19:08:33

+0

@fgonzalez这就是为什么我说“把这个**添加到你注入的'whatever.yml'文件**”......我看到你对[这个答案]的引用(http:///stackoverflow.com/a/17764186/1188035)并错误地推断出你会想通过阅读以前的答案来注入该文件,但由于您没有,我已经编辑了进一步的说明。 – sjagr 2014-11-06 19:21:29

+1

这似乎不适用于每个包,因为“twig”名称空间在依赖注入加载的任何配置中似乎不可用。 – Adambean 2016-12-22 17:58:44