Configure services as Doctrine domain event listeners.
Note: this bundle is not production ready as it requires the master version of DoctrineBundle.
"require": {
"astina/domain-events-bundle":"dev-master",
}
Enable the bundle in the kernel:
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Astina\Bundle\DomainEventsBundle\AstinaDomainEventsBundle(),
);
}
##Usage
Create subscriber service:
class ProductSupplyWatcher
{
public function preUpdate(ProductSupply $supply, PreUpdateEventArgs $event)
{
// do stuff
}
}
Read more about the (optional) $event parameter in the Doctrine documentation about Entity Listeners.
<service id="product_supply_watcher" class="Astina\Bundle\SandboxBundle\Foo\ProductSupplyWatcher">
<argument type="service" id="some_service" />
</service>
Configure domain event subscriber:
astina_domain_events:
subscribers:
product_supply_watcher: # this is the service id
entity: Astina\Bundle\ShopBundle\Model\ProductSupply # entity class
events: [ preUpdate ] # list of events to listen to
Note that the method name in the subscriber service corresponds with the event name.
Available events:
##Todo Add possibility to subscribe to changes on specific fields.
How can I help you explore Laravel packages today?