php – Symfony2中的自定义配置
|
我开发了一个小包,提供标签云功能.将其包含在其他Symfony项目中应该很容易,因此需要进行配置.我发现3页:
> How to Create Friendly Configuration for a Bundle 我在示例中工作,但很明显,我错过了一些东西,因为当我使用php app / console config时,我收到以下错误消息:dump-reference:
和
我在’博客包’中工作,并尝试访问’标签包’的配置数据. 我的’app / config / config.yml’顶部: imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: ../../src/Loew/TagBundle/Resources/config/services.yml }
- { resource: ../../src/Loew/TagBundle/Resources/config/config.yml }
LoewTagExtension.php: <?php
// Loew/TagBundle/DependencyInjection/LoewTagExtension.php
namespace LoewTagBundleDependencyInjection;
use SymfonyComponentDependencyInjectionContainerBuilder;
use SymfonyComponentConfigFileLocator;
use SymfonyComponentHttpKernelDependencyInjectionExtension;
use SymfonyComponentDependencyInjectionLoader;
class LoewTagExtension extends Extension
{
/**
* {@inheritdoc}
*/
public function load(array $configs,ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration,$configs);
//$container->setParameter('food_entities',$config['food_entities']);
$container->setParameter('split_match',$config['split_match']);
$loader = new LoaderYamlFileLoader($container,new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('config.yml');
$loader->load('services.yml');
}
}
config.yml: loew_tag:
# food_entities:
# - "BlogBundle:Article"
# - "BlogBundle:Comment"
split_match: "/[^0-9a-zA-Z??üü???]/"
configuration.php文件: <?php
// Loew/TagBundle/DependencyInjection/Configuration.php
namespace LoewTagBundleDependencyInjection;
use SymfonyComponentConfigDefinitionBuilderTreeBuilder;
use SymfonyComponentConfigDefinitionConfigurationInterface;
class Configuration implements ConfigurationInterface
{
/**
* {@inheritdoc}
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('loew_tag');
$rootNode
->children()
->scalarNode('split_match')->end()
// ->arrayNode('food_entities')
// ->prototype('scalar')->end()
->end();
return $treeBuilder;
}
}
节点food_entities的条目在所有文件中都被注释,以使其尽可能简单. 我注意到,已经提出了类似的问题并且已经解决了相关问题,但我无法将这些问题转移到这个问题上. 任何想法,我错过了什么? 解决方法
终于解决了这个问题
>考虑到命名惯例,尤其是Jakub Zalas指出的部分 显然,配置文件将在服务加载后立即自动加载. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
