Symfony2中的自定义配置

我开发了一个小包,提供标签云功能。将其包含在其他Symfony项目中应该很容易,因此它必须是可配置的。我发现了3页:

我处理了这些示例,但是很明显,我错过了一些东西,因为在使用时会收到以下错误消息php app/console config:dump-reference

[Symfony \ Component \ Config \ Exception \ FileLoaderLoadException]没有扩展能够加载“ loew_tag”的配置(在somePath / blog / app / config /../../ src / Loew / TagBundle / Resources / config / config.yml)。寻找名称空间“ loew_tag”,在somePath / blog / app / config /../../ src / Loew / TagBundle / Resources / config / config.yml(从“ somePath / blog / app / config / config.yml”)。

[Symfony \ Component \ DependencyInjection \ Exception \ InvalidArgumentException]
没有扩展能够加载“ loew_tag”的配置(在/home/somePath/blog/app/config/../../src/Loew/TagBundle/Resources中/config/config.yml)。查找名称空间“ loew_tag”,找到“框架”,“安全性”,“树枝”,“独白”,“ swiftmailer”,“资产”,“学说”,“ sensio_framework_extra”,“博客”,“ fos_user”,“调试” ”,“ web_profiler”,“ sensio_distribution”

我在“博客捆绑包”内工作,并尝试访问“标签捆绑包”的配置数据。

我的“ 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 Loew\TagBundle\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;

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 Loader\YamlFileLoader($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 Loew\TagBundle\DependencyInjection;

use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;

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指出的部分
  • $loader->load('config.yml');从扩展文件中删除条目:

显然,配置文件将在服务加载后立即自动加载。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在symfony2中为应用程序加载自定义配置文件

Symfony2中的自定义存储库类

自定义Symfony2表单

Symfony2自定义按钮

如何在symfony2中添加自定义配置,例如host_name =“ www.abc.com”?

Symfony中的自定义配置

symfony 命令 exec 中的 Symfony2 monolog 记录器自定义字段

Symfony2自定义选民角色层次结构

从自定义目录加载Symfony2翻译

Symfony2,自定义Ajax请求和CSRF

自定义/业务类的Symfony2依赖注入

自定义错误页面InvalidArgumentException Symfony2

在Symfony2中将自定义验证器作为服务创建

可以修改/写入symfony2中的自定义parameter.yml文件吗?

自定义身份验证提供程序中的Symfony2 ContextErrorException

Twig和Symfony2中的自定义反滤镜

在我的自定义类Symfony2中获取容器参数

我该如何在Symfony2 / Doctrine中创建自定义EntityManager?

symfony2在自定义批注中获取paramConverter值

如何在Symfony2 / 3中基于用户角色自定义表单字段?

可在Symfony2中的自定义字段类型上设置时间戳记

如何在symfony2中为自定义类创建服务容器

Symfony 2中的自定义实体

Symfony2中的配置

Symfony2 DoctrineExtensions preSoftDelete事件调用,不将自定义数据保存在数据库中

自定义Symfony2过滤器未使用自定义树枝标签触发

symfony2添加用于路由的动态参数,请尝试使用自定义加载程序

Symfony2自定义用户提供程序无法检索用户

Symfony2:如何对自定义复合表单类型使用约束?