4
A
回答
4
是的,種:
<?php
namespace Acme\DemoBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class CompilerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
$configs = $container->getExtensionConfig('acme_demo');
}
}
從我可以看到$configs
是未合併配置和默認值的陣列中不包括(由配置TreeBuilder作爲定義的值)。
2
我意識到這是一個老帖子,但我一直在尋找同樣的信息,並最終發現,這個工程的一個參數:
$cfgVal = $container
->getParameterBag()
->resolveValue($container->getParameter('param_name'));
當然這是可能在原始帖子後添加了此功能。
+0
是的,我認爲這是新的。太糟糕了,我不記得爲什麼我首先需要這個。 – Jens 2015-07-10 00:09:32
+0
真棒,這真的救了我! – 2015-11-28 23:13:39
4
只是爲了完整起見,以@彼得的回答是:getExtensionConfig
返回陣列應與相應的Configuration
進行處理,以能夠訪問默認值陣列的。
<?php
namespace Acme\DemoBundle\DependencyInjection;
use Symfony\Component\Config\Definition\ConfigurationInterface;
use Symfony\Component\Config\Definition\Processor;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
class CompilerPass implements CompilerPassInterface
{
public function process(ContainerBuilder $container)
{
$configs = $container->getExtensionConfig('acme_demo');
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
/// You can safely work with $config now
}
private function processConfiguration(ConfigurationInterface $configuration, array $configs)
{
$processor = new Processor();
return $processor->processConfiguration($configuration, $configs);
}
}
相關問題
- 1. 我可以製作gotest傳遞編譯器標誌嗎?
- 2. 我可以在ActionScript 2/3中訪問編譯標誌嗎?
- 3. 我可以編程訪問App配置中設置的錯誤級別嗎?
- 4. 我可以將編譯常量傳遞給項目引用嗎?
- 5. 我可以訪問模板中的AngularJS模塊配置值嗎?
- 6. 我可以配置VS.NET 2008 IDE以使用gcc作爲編譯器嗎?
- 7. 我可以配置pydev自動編譯cython文件嗎?
- 8. 我可以將其他組件傳遞到Castle Windsor配置嗎?
- 9. 我可以在我的自定義匹配器中訪問原始的select2匹配器嗎?
- 10. 我可以在HTTP標頭中傳遞自定義數據嗎?
- 11. 我可以通過命令行將預處理器定義傳遞給資源編譯器嗎?
- 12. 可以以編程方式訪問MANIFEST.MF中定義的值嗎?
- 13. Crystal 2008 - 我可以在運行時以編程方式訪問SQL語句嗎?
- 14. 我可以在1.6編譯器中使用jdk 7嗎?
- 15. 我可以訪問在玉模板中定義的變量嗎?
- 16. 我可以將DataTable傳遞給我的SQL語句(INSERT)嗎?
- 17. 我可以檢查預編譯中定義的宏嗎?
- 18. 我可以在java中更改由編譯器設置的默認超類嗎?
- 19. 我可以以編程方式設置Mercurial配置選項嗎?
- 20. Maven - 我可以在配置文件定義中引用配置文件ID嗎?
- 21. 如何使用symfony2訪問控制器中的語義配置?
- 22. 我可以將Active Directory中的值傳遞給Outlook配置文件嗎?
- 23. 我可以在頂點着色器中訪問gl_PointCoord嗎?
- 24. 我可以在控制器中訪問JSON模型的值嗎?
- 25. 我可以在Ajax.AjaxMethod中訪問asp.net服務器控件嗎?
- 26. 我可以讓PyInstaller優化編譯嗎?
- 27. 可以將Sass或Less配置爲只編譯某些類嗎?
- 28. 我們可以通過巡航控件編譯SQL語句嗎
- 29. 我可以在MobileFirst 8適配器中設置AuthenticatedUser嗎?
- 30. 我可以在Android模擬器中配置Gmail嗎?
我想這是盡善盡美 – Jens 2013-07-22 16:08:52
據我可以看到這隻適用的配置config.yml explicetly設置。什麼是默認的配置值?有沒有其他方式訪問它們?我想這隻有在'acme_demo'已經被編譯後纔有可能。 – acme 2013-09-12 09:34:26