我是symfony的新手,使用postgis使用PostgreSQL进行项目。因此,我想提出支持postgis的学说,并偶然发现了这个扩展: https://github.com/jsor/doctrine-postgis
在设置部分只有两行代码和一个引用symfony文档的链接。
所以我尝试在我的services.yml文件中添加ORMSchemaEventSubscriber:
parameters:
# parameter_name: value
services:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
arguments: []
tags:
- { name: kernel.event_subscriber }
此方法抛出异常,指出ORMSchemaEventSubscriber类不是Symfony \ Component \ EventDispatcher \ EventSubscriberInterface的子类。
这就是我被困住的地方,不知道该怎么做或在哪里放置给定的代码行。
答案 0 :(得分:1)
您尝试将其注册为Symfony Kernel Listener,但事实并非如此。
因此要使用它,您必须使用适当的标记:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
tags:
- { name: doctrine.event_subscriber, connection: default }
以下是Symfony文档: http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html
答案 1 :(得分:1)
在您的服务定义中,请将name: kernel.event_subscriber
更改为name: doctrine.event_subscriber
,以便它变为:
services:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
arguments: []
tags:
- { name: doctrine.event_subscriber }