Я разработал небольшой пакет, который обеспечивает облако тегов функциональность. Это должно быть легко, включить его в другие проекты Symfony и, следовательно, его нужно настраивать. Я обнаружил, 3 страницы:Пользовательская конфигурация в Symfony2
- How to Create Friendly Configuration for a Bundle
- Defining and Processing Configuration Values
- How to Load Service Configuration inside a Bundle
я работал вместе примерах, но очевидно, что я пропустил что-то, потому что я получаю следующее сообщение об ошибке, когда я использование php app/console config:dump-reference
:
[Symfony \ Component \ Config \ Ex ception \ 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/блог/приложение/Config/config.yml ").
и
[Symfony \ Component \ внедрение зависимости \ Exception \ InvalidArgumentException]
Там нет расширения в состоянии загрузить конфигурацию "loew_tag" (в/главная/somePath/блог/приложение/конфигурации /../../ SRC/Лева/TagBundle/Ресурсы/конфигурации/config.yml). Посмотрел на пространство имен «loew_tag», нашел «framework», «security», «twig», «monolog», «swiftmailer», «assetic», «doctrine», «sensio_framework_extra», «blog», «fos_user», «debug "," web_profiler "," sensio_distribution "
Я работаю внутри« блога блога »и пытаюсь получить доступ к конфигурационным данным для« набора тегов ».
Top моего 'приложение/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:
Записи для узла food_entities
комментируются во всех файлах, чтобы их максимально упростить.
Я заметил, что были заданы аналогичные вопросы, и проблемы, связанные с решением проблемы, были решены, но я не могу перенести эти решения на эту проблему.
Любая идея, что я пропустил?
Не могли бы вы ссылаться на другой вопрос? –
thx для ответа, но, к сожалению, я не могу воспроизвести условия поиска, которые привели меня к этим вопросам. Я помню, что один опубликованный вопрос был решен путем рассмотрения конкретного соглашения об именах. Это было связано с именем корневого узла внутри config.yml и его сопоставлением в treeBuilder внутри Configuration.php и далее с именованием класса расширения, который должен следовать схеме поставщика/пучка, в которой «Bundle» заменяется на «Расширение». Похоже, это не моя проблема. Я буду продолжать искать эти вопросы. – dan
Является ли пакет зарегистрированным в вас 'app.php'? Также, что выводит команду 'php app/console config: dump-reference'? – ferdynator