我开发了一个小包,提供标签云功能。将其包含在其他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
在所有文件中都会注释该节点的条目,以使其尽可能简单。
我注意到,有人问过类似的问题,有关的问题也已解决,但我无法将解决方案转移到这个问题上。
任何想法,我想念什么?
终于解决了
$loader->load('config.yml');
从扩展文件中删除条目:显然,配置文件将在服务加载后立即自动加载。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句