2016-07-22 17 views
1

Ich bin relativ neu bei symfony, arbeite an einem Projekt mit PostgreSQL mit Postgis. Daher würde ich gerne Doktrin unterstützen Postgis und stolperte über diese Erweiterung: Hinzufügen eines Ereignispartners für Dritte

In der Setup-Teil sind nur zwei Zeilen Code und eine Verknüpfung Referenzierung der symfony Dokumentation gegeben.

Also, was ich versuchte, wurde die ORMSchemaEventSubscriber in meiner services.yml Datei hinzufügen:

parameters: 
# parameter_name: value 

services: 
    my.subscriber: 
     class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber 
     arguments: [] 
     tags: 
      - { name: kernel.event_subscriber } 

Dieser Ansatz löst eine Ausnahme die ORMSchemaEventSubscriber Klasse besagt, ist keine Unterklasse von Symfony \ Component \ Eventdispatcher \ EventSubscriberInterface.

Das ist, wo ich stecken und nicht weiß, was zu tun ist oder wo die vorgegebenen Zeilen des Codes.

Antwort

1

Sie versuchen, es als Symfony Kernel Listener registrieren, was es nicht ist.

für sie so zu arbeiten, müssen Sie einen entsprechenden Tag verwenden:

my.subscriber: 
    class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber 
    tags: 
     - { name: doctrine.event_subscriber, connection: default } 

Hier ist Symfony Dokumentation dazu: http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html

1

In Ihrer Service-Definition Sie bitte, dass es name: kernel.event_subscriber-name: doctrine.event_subscriber so ändern wird:

services: 
    my.subscriber: 
     class: Jsor\Doctrine\PostGIS\Event\ORMSchemaEventSubscriber 
     arguments: [] 
     tags: 
      - { name: doctrine.event_subscriber } 

Mehr Info: https://github.com/jsor/doctrine-postgis/issues/3