我試圖建立一個事件偵聽爲我的項目,並按照本指南的指示:我編輯的services.xml像教程How to register eventlisteners,但我收到此錯誤信息,當我想測試一下:無法加載學說:配置,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不是服務配置的默認配置,幾乎所有廣泛使用的bundle都使用XMl ...出於很好的理由 - XML提供了更好的自動完成和驗證選項。對於XML文件的IDE集成可以爲您提供比YAML更容易的編碼,尤其是涉及Emmet或ZenCoding時。 – nifr