Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.lang.php > #16232 > unrolled thread
| Started by | Marek S <precz@spamowi.com> |
|---|---|
| First post | 2019-06-09 21:28 +0200 |
| Last post | 2019-06-30 15:00 +0200 |
| Articles | 4 — 2 participants |
Back to article view | Back to pl.comp.lang.php
Symfony 4 - jak konfigurować event'y? Marek S <precz@spamowi.com> - 2019-06-09 21:28 +0200
Re: Symfony 4 - jak konfigurować event'y? Marek S <precz@spamowi.com> - 2019-06-18 21:18 +0200
Re: Symfony 4 - jak konfigurować event'y? Rafal Podsiadly <spinacz24@gmail.com> - 2019-06-26 21:40 -0700
Re: Symfony 4 - jak konfigurować event'y? Marek S <precz@spamowi.com> - 2019-06-30 15:00 +0200
| From | Marek S <precz@spamowi.com> |
|---|---|
| Date | 2019-06-09 21:28 +0200 |
| Subject | Symfony 4 - jak konfigurować event'y? |
| Message-ID | <qdjmlu$ctg$1@node2.news.atman.pl> |
Witam,
Zauważyłem, że co najmniej od 2016 roku migracje Doctrine zawierają błąd
uniemożliwiający ich stosowanie w połączeniu z bazą PostgreSQL. Na DBALu
od lat wisi issue w tej kwestii. Nie chcę poprawiać niedoróbek
biblioteki gdyż zostaną nadpisane przy kolejnych aktualizacjach. Zatem
chciałbym zrobić coś takiego, że gdy na migracji odpalamy downgrade,
powstanie zdarzenie migracyjne, które zostanie przechwycone i przejmie
kontrolę nad nieprawidłowym kodem metody "down" migracji.
Ponieważ jednak jestem nieobyty w zdarzeniach, próbuję wyczytać jak one
działają tu:
https://symfony.com/doc/current/event_dispatcher.html
Niestety generalnie dokumentacja Symfony jest bardzo słaba. Nie potrafię
się dowiedzieć w jaki sposób zarejestrować listenera. Niby jest przykład
w powyższym linku:
# config/services.yaml
services:
App\EventListener\ExceptionListener:
tags:
- { name: kernel.event_listener, event: kernel.exception }
Fajnie, ale ja chce przechwytywać zdarzenia migracyjne. Jaka jest
metodologia docierania do informacji, co należy wpisać w powyższe
zaklęcie magiczne? Chodzi mi o sekcję w nawiasach {}. Skąd biorą się te
nazwy? Załóżmy, że teraz chodzi mi o migracje. Ale jutro może mi chodzić
o bundle X, który ma swoje zdarzenia wylistowane w opisie, ale bez
informacji jak je skonfigurować (bo to zadanie do zrobienia w Symfony).
Zależy mi na samej metodologii dociekania. Nie chcę szukać po Stackach
(licząc na łut szczęścia, że trafię na opis konfiguracji listenera dla
konkretnego bundla). To powinno być opisane w Symfony, jak sądzę.
--
Pozdrawiam,
Marek
--
Pozdrawiam,
Marek
[toc] | [next] | [standalone]
| From | Marek S <precz@spamowi.com> |
|---|---|
| Date | 2019-06-18 21:18 +0200 |
| Message-ID | <qebdf8$fl0$3@node1.news.atman.pl> |
| In reply to | #16232 |
Problem rozwiązany - zamykam wątek. -- Pozdrawiam, Marek
[toc] | [prev] | [next] | [standalone]
| From | Rafal Podsiadly <spinacz24@gmail.com> |
|---|---|
| Date | 2019-06-26 21:40 -0700 |
| Message-ID | <a871eb23-c4fb-4067-b226-6ef638a41696@googlegroups.com> |
| In reply to | #16238 |
Jesli rozwiazujesz problem dobrze jest podac tresc rozwiazania tak dla potomnych.
[toc] | [prev] | [next] | [standalone]
| From | Marek S <precz@spamowi.com> |
|---|---|
| Date | 2019-06-30 15:00 +0200 |
| Message-ID | <qfabpr$j2b$1@node1.news.atman.pl> |
| In reply to | #16239 |
W dniu 2019-06-27 o 06:40, Rafal Podsiadly pisze: > Jesli rozwiazujesz problem dobrze jest podac tresc rozwiazania tak dla potomnych. > Wiesz? Zastanawiałem się nad tym. Są niestety dwa problemy: 1) Niewiele osób temat interesuje (mało jest pytań na Stacku itp.). Zaryzykuję wniosek, że ludzie nie używają eventów lub ograniczają się do opisanych pre/post w dokumentacji Symfony. Inne ignorują. 2) Odpowiedź byłaby bardzo złożona, bo zazwyczaj funkcjonalności te nie są udokumentowane i trzeba kod źródłowy analizować. Czasem i to nie pomaga bo np. Doctrine potrafi przechwycić zdarzenia po DBALu, na którym bazuje, zmienić im etykietę i udawać, że są to jej własne, więc analiza kodu DBALa była stratą czasu. Co gorsze, jedno ze zdarzeń nie jest "maskowane" lecz przepuszczane wprost więc inaczej trzeba je przechwytywać. 3) Bugi i niedoróbki ciągną się przez lata, nawet jeśli jest to kwestią dodania paru linii kodu. Należy te bugi implementować jako funkcjonalność. Nie ma więc szans na napisanie jakiejkolwiek informacji. W zasadzie autor Doctrine powinien zakasać rękawy i napisać, co zrobił i jak tego używać. Programowanie bazuje na odkryciach a nie czytaniu dokumentacji. Tak jest ze wszystkim w Symfony - zapewne dlatego to banalne środowisko programistyczne urosło do miana mistycznie trudnego. Na początku szybciej byłoby zrealizować zadania w czystym PHP. Dopiero po dłuższym obcowaniu typu pół roku+ i zacięciu odkrywcy, proporcja zmienia się. Tak więc proste CRUDy można sobie pisać. Coś bardziej złożonego - wolna amerykanka. -- Pozdrawiam, Marek
[toc] | [prev] | [standalone]
Back to top | Article view | pl.comp.lang.php
csiph-web