1

我正在尝试为我的项目构建一个事件监听器,并遵循本指南的说明:如何注册事件监听器我在教程中编辑了我的 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>

问题出在哪里?

4

1 回答 1

1

您的服务配置中不需要教义配置。

内部正在配置连接驱动程序app/config/config.yml。侦听器配置看起来不错 - 只需删除这些doctrine:config东西。

看看学说配置参考

如果您没有使用该connection选项指定一个,Symfony 将自动为您的侦听器/订阅者使用默认连接。这里的文档有点混乱,但是教义连接只是为了展示如何使用不同的连接。

于 2013-07-17T18:35:56.297 回答