添加第三方事件订阅者
Adding a third party event subscriber
我对 symfony 比较陌生,正在处理一个使用 PostgreSQL 和 postgis 的项目。因此我想制定支持 postgis 的学说并偶然发现了这个扩展:
https://github.com/jsor/doctrine-postgis
在设置部分只有两行代码和 link 引用给定的 symfony 文档。
所以我尝试在我的 services.yml 文件中添加 ORMSchemaEventSubscriber:
parameters:
# parameter_name: value
services:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
arguments: []
tags:
- { name: kernel.event_subscriber }
此方法抛出异常,指出 ORMSchemaEventSubscriber class 不是 Symfony\Component\EventDispatcher\EventSubscriberInterface 的子class。
这就是我卡住的地方,不知道该做什么或把给定的代码行放在哪里。
您正试图将其注册为 Symfony 内核监听器,但事实并非如此。
因此,要使其正常工作,您必须使用适当的标签:
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
在您的服务定义中,请将 name: kernel.event_subscriber
更改为 name: doctrine.event_subscriber
,以便它变为:
services:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
arguments: []
tags:
- { name: doctrine.event_subscriber }
我对 symfony 比较陌生,正在处理一个使用 PostgreSQL 和 postgis 的项目。因此我想制定支持 postgis 的学说并偶然发现了这个扩展: https://github.com/jsor/doctrine-postgis
在设置部分只有两行代码和 link 引用给定的 symfony 文档。
所以我尝试在我的 services.yml 文件中添加 ORMSchemaEventSubscriber:
parameters:
# parameter_name: value
services:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
arguments: []
tags:
- { name: kernel.event_subscriber }
此方法抛出异常,指出 ORMSchemaEventSubscriber class 不是 Symfony\Component\EventDispatcher\EventSubscriberInterface 的子class。
这就是我卡住的地方,不知道该做什么或把给定的代码行放在哪里。
您正试图将其注册为 Symfony 内核监听器,但事实并非如此。
因此,要使其正常工作,您必须使用适当的标签:
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
在您的服务定义中,请将 name: kernel.event_subscriber
更改为 name: doctrine.event_subscriber
,以便它变为:
services:
my.subscriber:
class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber
arguments: []
tags:
- { name: doctrine.event_subscriber }