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
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%)
-----


Przekaż obiekt sesji do tego obiektu korzystając z DIC-a?
  1. <service id="kernel.listener.check" class="App\NameBundle\Listener\CheckListener">
  2. <argument type="service" id="session" /> <!-- czy tam request.session - nie pamiętam -->
  3.  
  4. <tag name="kernel.event_listener" event="kernel.controller" method="onCoreController" />
  5. </service>
  1. class CheckListener {
  2. private Session $session;
  3.  
  4. public function __construct(Session $session) {
  5. $this->session = $session;
  6. }
  7.  
  8. public function onCoreController() {
  9. die('test');
  10. }
  11. }


Ten post edytował Crozin 27.06.2011, 22:04:30
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: 9.10.2025 - 07:58