rundum / event-base
Basic events for symfony projects
Installs: 1 457
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- doctrine/orm: ^2.7
- psr/log: *
- symfony/event-dispatcher: ^4.3 || ^5.0 || ^6.0 || ^7.0
Requires (Dev)
- phpunit/phpunit: ^8
README
This library provides basic events for Symfony 4 + Doctrine ORM based applications.
Installation
composer require rundum/event-base
If you don't use Symfony flex, add the following configuration (config/packages/rundum_event_base.yaml
)
services: _defaults: autowire: true autoconfigure: true public: false rundum.event.entity.subscriber: class: Rundum\EventSubscriber\EntityEventSubscriber
Usage
class ExampleService { private $dispatcher; // Constructor with Dependency Injection function __construct( EventDispatcherInterface $dispatcher, ) { $this->dispatcher = $dispatcher; } function saveEntity($entity) { // -> INSERT ... $this->dispatcher->dispatch(new EntityChangeIntendedEvent($entity, true), EntityChangeIntendedEvent::NAME); } function updateEntity($entity) { // -> UPDATE ... $this->dispatcher->dispatch(new EntityChangeIntendedEvent($entity), EntityChangeIntendedEvent::NAME); } function deleteEntity($entity) { // -> DELETE FROM ... $this->dispatcher->dispatch(new EntityRemovalIntendedEvent($entity), EntityRemovalIntendedEvent::NAME); } }