![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 9 Dołączył: 18.06.2013 Skąd: Białystok Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Nie mam potężnego doświadczenia w fw i w związku z tym zainteresowało mnie zagadnienie event listenerów. Trochę sobie o nich poczytałem, ale ciężko mi sobie wyobrazić jakieś fajne sytuacje, gdzie można by je wykorzystać(oprócz tego opisanego w dokumentacji). 1) Dacie jakieś przykłady? 2) Czy m.in. można nimi zastępować mysql'owe triggery(wyzwalacze) i czy to jest sensowne(czy takie jest m.in. przeznaczenie event listenerów)? 3) Zamiast bawić się w mysql'owe triggery może lepiej krok po kroku usuwać wpisy w ten sposób?
Ten post edytował BigPig 7.08.2014, 07:38:22 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Oba narzędzia wykorzystują na dobrą sprawę ten sam mechanizm, ale - co oczywiste - do innych celów. Przykładowo w Doctrine możesz wykorzystać zdarzenia w celu:
- zmodyfikowania obiektów tuż przed ich zapisem do bazy (np. w celu dodania daty i adresu IP osoby modyfikującej dany obiekt), - zmodyfikowania zapytań SELECT DQL-a tak, by ignorowały obiekty oznaczone jako usunięte, a zapytania DELETE zamienić na UPDATE (tzw. softDeleteable), - zmodyfikowania struktury mapowań Doctrine'a. W Symfony, z racji tego że jest to znacznie obszerniejsza biblioteka, zdarzeń można tego wykorzystać już do setek rzeczy, np.: - wykonania jakiejś wspólnej akcji dla wszystkich kontrolerów z danego bundle'a, - wysłaniu maila do autora jakiegoś obiektu domeny po jego usunięciu, - aktywacji użytkownika, który rejestruje się jakąś zaufaną metodą (np. poprzez OpenID), - zablokowaniu dostępu do danych akcji danym użytkownikom, - ...tutaj można by wymieniać bez końca. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 19:41 |