Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SF2][SF]Symfony2 Events
Matrix12
post
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 22.03.2015

Ostrzeżenie: (0%)
-----


Witam,

Szukam jakiegoś dobego tutorialu z których móglbym się nauczyć eventów..

Np. mam taki kod :
  1. <?php
  2.  
  3. use Symfony\Component\EventDispatcher\Event;
  4.  
  5. class AwesomeWorkEvent extends Event
  6. {
  7.  
  8. /**
  9.   * @var OneDataClass
  10.   */
  11. protected $data;
  12.  
  13. public function __construct(OneDataClass $data)
  14. {
  15. $this->data = $data;
  16. }
  17.  
  18. public function getData()
  19. {
  20. return $this->data;
  21. }
  22. }


Potem tworzymy listnera
  1.  
  2.  
  3. class AwesomeWorkListener
  4. {
  5. public function doYourJob(AwesomeWorkEvent $event)
  6. {
  7. /** Do the right job **/
  8. }
  9. }


Czy listner to serwis obsługujacy eventy ?
Czy zawsze w evencie dodaje metode getData? Dlaczego ? Po co eventowi te dane? Czy event działa na zasadzie : informuje event o jakimś zdarzeniu, even pobiera sobie dane i sam przekazuje do listnera?


Pomóżcie mi to ogarnąć (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat
Czy listner to serwis obsługujacy eventy ?
Jest to ogóle coś co można "uruchomić" (PHP-owe callable): http://symfony.com/doc/current/components/...cting-listeners Nie musi to być koniecznie obiekt będący serwisem z punktu widzenia DIC-a.
Cytat
Czy zawsze w evencie dodaje metode getData?
Nie, nie musisz mieć tej metody. Zdarzenie musi jednak być potomkiem klasy \Symfony]Component\EventDispatcher\Event.
Cytat
Czy event działa na zasadzie : informuje event o jakimś zdarzeniu, even pobiera sobie dane i sam przekazuje do listnera?
Nie. Zdarzenie (event) jest informacją. EventDispatcher wywołuje odpowiednie listenery i przekazuje im informację właśnie w postaci zdarzenia.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 19:29