2017 © Pedro Peláez
 

library symfony-event-dispatcher

Symfony\EventDispatcher integration to Nette.

image

symplify/symfony-event-dispatcher

Symfony\EventDispatcher integration to Nette.

  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 13 Versions
  • 6 % Grown

The README.md

The Simplest Symfony Event Dispatcher integration to Nette

Build Status Code Coverage Downloads, (*1)

Install

composer require symplify/symfony-event-dispatcher

Register the extension in config.neon:, (*2)

# 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+., (*3)

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 :), (*4)

That's all!, (*5)

Contributing

Send issue or pull-request to main repository., (*6)

The Versions