Details
-
Type:
New Feature
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 2.4
-
Component/s: None
-
Security Level: All
-
Labels:None
Description
This issue is created automatically through a Github pull request on behalf of FabioBatSilva:
Url: https://github.com/doctrine/doctrine2/pull/423
Message:
http://www.doctrine-project.org/jira/browse/DDC-1955
Hi.
This path adds support for ```@EntityListeners```
This path add another way to handle events
allow configure the same listener for many specific entities.
And give the EventArg in the current lifecycle callback system.
Usage :
```php
<?php
/**
- @EntityListeners(
{"ContractListener"}
)
- @HasLifecycleCallbacks
- @Entity
*/
class Contract
{
/** @PostLoad */
public function postLoadHandler(LifecycleEventArgs $event) { // do something }
}
class ContractListener
{
/** @PrePersist */
public function prePersistHandler(Contract $contract)
{ // do something }/**
- @PostPersist
- Most of cases just the entity is needed.
- as a second parameter LifecycleEventArgs allow access to the entity manager.
*/
public function postPersistHandler(Contract $contract, LifecycleEventArgs $args) { // do something }}
```
Merged : https://github.com/doctrine/doctrine2/commit/71a68a5c6fcd49538c3ef2f86d64bcde1958251c