Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]2 Event Listener
lukas.skowronski
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.10.2007

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


Witajcie,

mam problem z Symfony2. Chciałbym osiągnąć efekt podobny do
filtrów w Symfony1.

Założenie jest takie, aby przy wejściu na stronę niezależnie od
wywołanego kontrolera i akcji wywołać metodę sprawdzającą lub
ustawiającą dowolny parametr.

Starałem się to zrobić poprzez Event Listener i definicję
services w pliku config.yml

  1. services:
  2. kernel.listener.check:
  3. class: App\NameBundle\Listener\CheckListener
  4. tags:
  5. - { name: kernel.listener, event: onCoreController }


Oraz definicję klasy CheckListener
  1. namespace App\NameBundle\Listener;
  2.  
  3. use Symfony\Component\EventDispatcher\EventDispatcher;
  4. use Symfony\Component\EventDispatcher\Event;
  5.  
  6. class CheckListener
  7. {
  8. public function onCoreController(FilterControllerEvent $event)
  9. {
  10. die('test');
  11. }
  12. }


Niestety nie zaobserwowałem żadnego efektu działania i nie mogę
doszukać się żadnego przykładu w dokumentacji jak i internecie -
może ktoś już to rozgryzł?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lukas.skowronski
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 17.10.2007

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


Ok, super - trochę mnie naprowadziłeś.

Ostatecznie wygląda to w sposób następujący:
  1. services:
  2. kernel.listener.check:
  3. class: App\NameBundle\Listener\CheckListener
  4. tags:
  5. - { name: kernel.event_listener, event: kernel.controller , method: onCoreController }


  1. namespace App\NameBundle\Listener;
  2.  
  3. use Symfony\Component\EventDispatcher\EventDispatcher;
  4. use Symfony\Component\EventDispatcher\Event;
  5.  
  6. class CheckListener
  7. {
  8.  
  9. public function onCoreController() {
  10.  
  11. die('test');
  12.  
  13. }
  14. }


Jeszcze raz dzięki! (IMG:style_emoticons/default/smile.gif)

Ok, to może teraz ma ktoś pomysł jak dobrać się teraz do sesji w tym Listenerze?

Ewentualnie może ktoś ma inny pomysł na ten problem?
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: 7.10.2025 - 04:05