Mybundle已经设置为使用services.yml
但我想使用services.xml。
所以我更改了DependacyInjection / MybundleExtension.php
#$loader->load('services.yml');
$loader->load('services.xml');
但它说
Unable to parse in "\/Users\/whitebear\/httproot\/mutor\/src\/Acme\/MyBundle\/DependencyInjection\/..\/Resources\/config\/services.xml" at line 1 (near "").
我的services.xml虽然,我认为它是正确的(只是从其他网站复制和粘贴)
<services>
<service id="acme.demobundle.calendar_listener" class="Acme\DemoBundle\EventListener\CalendarEventListener">
<argument type="service" id="doctrine.orm.entity_manager" />
<tag name="kernel.event_listener" event="calendar.load_events" method="loadEvents" />
</service>
</services>
还有其他地方需要改变吗?
答案 0 :(得分:5)
您使用XmlFileLoader
吗?
$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.xml');
另外,标准xml结构包括container
标记
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
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">
<parameters>
...
</parameters>
<services>
<service id="...">
</service>
</services>
</container>