Temat: Symfony2 - Event Listener

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


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


Oraz definicję klasy CheckListener

namespace App\NameBundle\Listener;

use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\Event;

class CheckListener
{
public function onCoreController(FilterControllerEvent $event)
{
die('test');
}
}


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ł?Łukasz Skowroński edytował(a) ten post dnia 27.06.11 o godzinie 18:00

Temat: Symfony2 - Event Listener

Problem udało się rozwiązać:

Ostatecznie wygląda to w sposób następujący:

services:
kernel.listener.check:
class: App\NameBundle\Listener\CheckListener
tags:
- { name: kernel.event_listener, event: kernel.controller , method: onCoreController }



namespace App\NameBundle\Listener;

use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\Event;

class CheckListener
{
public function onCoreController() {

die('test');
}
}
Wojciech Sznapka

Wojciech Sznapka CTO @ STS Zakłady
Bukmacherskie

Temat: Symfony2 - Event Listener

die driven development :-)

Temat: Symfony2 - Event Listener

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

Ewentualnie może ktoś ma inny pomysł na ten problem?

----------------

Edit: problem został rozwiązany tutaj: http://forum.php.pl/index.php?showtopic=179087&st=0&go...Łukasz Skowroński edytował(a) ten post dnia 27.06.11 o godzinie 23:29

Następna dyskusja:

Event dispatcher




Wyślij zaproszenie do