Knp RAD Components alternatives and similar libraries
Based on the "Framework Extras" category.
Alternatively, view Knp RAD Components alternatives based on common mentions on social networks and blogs.
-
Symfony CMF
DISCONTINUED. Meta package tying together all the key packages of the Symfony CMF project.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Knp RAD Components or a related project?
README
Knp Rad Domain Event
A lightweight domain event pattern implementation for Doctrine2.
Official maintainers:
Installation
With composer :
$ composer require knplabs/rad-domain-event
If you are using Symfony you can update your app/AppKernel.php
file:
public function registerBundles()
{
$bundles = array(
// bundles here ...
new Knp\Rad\DomainEvent\Bundle\DomainEventBundle();
);
}
Usage
Setup your entity
First, make sure your entity implements the [Provider](./src/Knp/Rad/DomainEvent/Provider.php) interface and uses the [ProviderTrait](./src/Knp/Rad/DomainEvent/ProviderTrait.php).
use Knp\Rad\DomainEvent;
class MyEntity implements DomainEvent\Provider
{
use DomainEvent\ProviderTrait;
}
Raise event
Trigger any event from your entity, through the raise
method.
It will be turned into a [Knp\Rad\DomainEvent\Event](./src/Knp/Rad/DomainEvent/Event.php) object and dispatched once your entity has been flushed.
use Knp\Rad\DomainEvent;
class MyEntity implements DomainEvent\Provider
{
// ...
public function myFunction($arg) {
// your function behavior
$this->raise('myEventName', ['anyKey' => $anyValue]);
}
}
Listen to this event
use Knp\Rad\DomainEvent\Event;
class MyListener
{
public function onMyEventName(Event $event) {
// your function behavior
}
}
Then, of course, register your listener.
app.event_listener.my_event_listener:
class: App\EventListener\MyEventListener
tags:
- { name: kernel.event_listener, event: myEventName, method: 'onMyEventName' }
*Note that all licence references and agreements mentioned in the Knp RAD Components README section above
are relevant to that project's source code only.