symplify/symfony-event-dispatcher

This package is abandoned and no longer maintained. The author suggests using the contributte/event-dispatcher package instead.
There is no license information available for the latest version (v2.0.0-RC2) of this package.

Symfony\EventDispatcher integration to Nette.

Maintainers

👁 TomasVotruba

Package info

github.com/deprecated-packages/SymfonyEventDispatcher

pkg:composer/symplify/symfony-event-dispatcher

Statistics

Installs: 19 862

Dependents: 3

Suggesters: 0

Stars: 0

v2.0.0-RC2 2017-04-27 14:57 UTC

Suggests

None

Provides

None

Conflicts

None

Replaces

None

Unknown License a2ee4d72456950caaa5f26ee41e118da37b11de3

This package is auto-updated.

Last update: 2022-03-08 10:48:48 UTC


README

👁 Build Status
👁 Code Coverage
👁 Downloads

Install

composer require symplify/symfony-event-dispatcher

Register the extension in config.neon:

# app/config/config.neon

extensions:
- Symplify\SymfonyEventDispatcher\Adapter\Nette\DI\SymfonyEventDispatcherExtension

Usage

See short article about EventDispatcher. This article is tested – it will be still up-to-date with Symfony 4+.

1. Create class that implements Symfony\Component\EventDispatcher\SubscriberInterface:

// app/EventSubscriber/CheckRequestEventSubscriber.php

namespace App\EventSubscriber;

use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\GetResponseEvent

final class CheckRequestEventSubscriber implements EventSubscriberInterface
{
 /**
 * @var bool
 */
 public $isUserNotified = false;

 public static function getSubscribedEvents(): array
 {
 // in format ['event name' => 'public function name that will be called']
 return [KernelEvents::REQUEST => 'validateRequest'];
 }


 // Appropriate event object is passed in arguments
 public function validateRequest(GetResponseEvent $event): void
 {
 // some logic to send notification
 $this->isUserNotified = true;
 }
}

2. Register it to services

# app/config/config.neon

services:
 - App\EventSubscriber\CheckRequestEventSubscriber

And it works :)

That's all!

Contributing

Send issue or pull-request to main repository.