Я пытаюсь создать eventlistener для моего проекта и следовать инструкциям этого руководства: How to register eventlisteners Я отредактировал свой services.xml, как в учебнике, но я получаю это сообщение об ошибке, когда я хочу, чтобы проверить:Не могу загрузить doctrine: config, services.xml
InvalidArgumentException: There is no extension able to load the configuration for "doctrine:config" (in /var/www/symfony/src/Acme/AppBundle/DependencyInjection/../Resources/config/services.xml). Looked for namespace "http://symfony.com/schema/dic/doctrine", found none
Мой services.xml:
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:doctrine="http://symfony.com/schema/dic/doctrine"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<doctrine:config>
<doctrine:dbal default-connection="default">
<doctrine:connection driver="pdo_sqlite" memory="true" />
</doctrine:dbal>
</doctrine:config>
<services>
<service id="my.listener" class="Acme\AppBundle\EventListener\Confirmer">
<tag name="doctrine.event_listener" event="preUpdate" />
</service>
</services>
</container>
Где проблема?
Мне нужно изменить любую конфигурацию, чтобы использовать services.yml? – ChrisS
Symfony [руководство] (http://symfony.com/doc/2.2/cookbook/doctrine/event_listeners_subscribers.html) отображает каждый раздел конфигурации на трех языках: YAML, XML и PHP. Вы можете переключаться между ними, используя вкладки вверху. По умолчанию используется YAML. –
YAML не является стандартным для конфигурации службы, почти все широко используемые пакеты там используют XMl ... по уважительной причине - XML обеспечивает лучшие варианты автозавершения и проверки. Интеграция IDE для файлов XML может обеспечить вам более легкое кодирование, чем YAML, особенно при использовании Emmet или ZenCoding. – nifr