🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #232452

Symfony 4/Doctrine - czy zdarzenia są w ogóle przez kogoś używane?

#232452
From: Marek S
Date: Sun, 16 Jun 2019 23:37
48 lines
2525 bytes
Witam,

Cały weekend poświęciłem zgłębianiu zdarzeń w Symfony 4. Gdy któreś z 
nich nie chciało się uruchamiać, drążyłem temat w Google. Niestety 
bezskutecznie. Prawie w ogóle temat zdarzeń nie jest poruszany.

Oto przykład: chciałem przechwycić zdarzenie kreowania tabeli przez 
migrację (onSchemaCreateTable) w celu naprawy błędów make:migration 
(swoją drogą, wygląda na to, że chyba nikt nie testował migracji - błąd 
na błędzie, praktycznie brak wsparcia dla 3rd party schemas).  Wykonałem 
testowego subscribera:

class MigrationEventSubscriber implements EventSubscriber {
     public function getSubscribedEvents() {
         dump("yyyyyyyyyyyyyyyyyyy");
         return array(
             Events::onSchemaCreateTable,
             Events::postConnect,
         );
     }


     public function postConnect(ConnectionEventArgs $args) {
         dump("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
     }


     public function onSchemaCreateTable(SchemaCreateTableEventArgs $args) {
         dump("xxxxxxxxxxxxxxxxxxxxxxxxxxx");
     }
}

Dodałem go w services.yaml:

     App\EventSubscribers\MigrationEventSubscriber:
         tags:
             - { name: doctrine.event_subscriber, connection: default }


Przechwytuje on postConnect ale onSchemaCreateTable już nie. Albo ja coś 
źle robię, albo migracje to jeden wielki bubel. W migracjach działa 
tylko stwórz tabelkę w MySQL lub zmodyfikują ją, a gdy chcesz ciut 
więcej lub inną bazę - to spadaj. Czy tak w zamyśle twórców ma działać 
Doctrine?

-- 
Pozdrawiam,
Marek
Technical Details
Message-ID: <qe6jrd$dar$1@node1.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: Marek S <precz@spamowi.com>
Newsgroups: pl.comp.lang.php
Subject: Symfony 4/Doctrine - czy zdarzenia są w
 ogóle przez kogoś używane?
Date: Mon, 17 Jun 2019 01:37:14 +0200
Organization: ATMAN - ATM S.A.
Lines: 48
Message-ID: <qe6jrd$dar$1@node1.news.atman.pl>
NNTP-Posting-Host: 89-70-94-204.dynamic.chello.pl
Mime-Version: 1.0
X-Trace: node1.news.atman.pl 1560728237 13659 89.70.94.204 (16 Jun 2019 23:37:17 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Sun, 16 Jun 2019 23:37:17 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1
X-Mozilla-News-Host: news://news.atman.pl:119
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit