Thread View: pl.comp.lang.php
5 messages
5 total messages
Started by Marek S
Sun, 16 Jun 2019 23:37
Symfony 4/Doctrine - czy zdarzenia są w ogóle przez kogoś używane?
Author: Marek S
Date: Sun, 16 Jun 2019 23:37
Date: Sun, 16 Jun 2019 23:37
48 lines
2525 bytes
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
Re: Symfony 4/Doctrine - czy zdarzenia są w ogóle przez kogoś używane?
Author: Rafal Podsiadly
Date: Mon, 01 Jul 2019 20:01
Date: Mon, 01 Jul 2019 20:01
49 lines
3143 bytes
3143 bytes
W dniu poniedziałek, 17 czerwca 2019 01:37:18 UTC+2 użytkownik Marek S napisał:
> 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
Re: Symfony 4/Doctrine - czy zdarzenia są w ogóle przez kogoś używane?
Author: Rafal Podsiadly
Date: Mon, 01 Jul 2019 20:01
Date: Mon, 01 Jul 2019 20:01
1 lines
1404 bytes
1404 bytes
Spróbuj https://groups.google.com/forum/#!forum/doctrine-user
Re: Symfony 4/Doctrine - czy zdarzenia są w ogóle przez kogoś używane?
Author: Marek S
Date: Thu, 04 Jul 2019 20:45
Date: Thu, 04 Jul 2019 20:45
21 lines
1951 bytes
1951 bytes
W dniu 2019-07-01 o 22:01, Rafal Podsiadly pisze: > Spróbuj https://groups.google.com/forum/#!forum/doctrine-user > Dzięki za poradę. Znalazłem już odpowiedź prześledziwszy źródła. Generalnie w międzyczasie podpytałem doświadczonych kolegów. Sprawa ma się tak, że "to trzeba wiedzieć" (analizując kod). Nie ma żadnej dokumentacji poza kilkoma na krzyż przypadkami. Doctrine była tylko jednym z przykładów losowo wybranych bundli. Np. ona przechwytuje zdarzenia DBALa (na nim bazuje), zmienia je na jako własne i puszcza dalej. Robi tak... ale z wyjątkiem jednego, którego nie modyfikuje. Nie dziwię się, że nie robi się z tego dokumentacji bo trudno wymagać dokumentowania błędów/niedoróbek jako "ficzery". Mi chodziło o metodykę docierania do informacji skoro nie ma jej u źródeł (GitHub) i w Google też cisza. Ale już wiem - tylko analiza kodu. -- Pozdrawiam, Marek
Re: Symfony 4/Doctrine - czy zdarzenia są w ogóle przez kogoś używane?
Author: Rafal Podsiadly
Date: Sun, 07 Jul 2019 04:26
Date: Sun, 07 Jul 2019 04:26
1 lines
1394 bytes
1394 bytes
Dzięki za szczegóły.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads