2014-10-17 51 views

回答

1

Entity類是不把業務邏輯的地方。據我所知,您不能將entity定義爲服務。

您想要做的事情應該通過創建Event listener來解決,您可以將其定義爲服務並從parameters.yml傳遞值。這位聽衆應該聽你的postRemove事件。

services.yml

services: 
    service_name: 
     class: Acme\Your\ListenerClass 
     arguments: [%your_parameter_from_yml%] 
     tags: 
      - { name: doctrine.event_listener, event: postRemove } 

你ListenerClass:

class ListenerClass 
{ 

public function __construct($your_param_from_parameters) 
{ 
    $this->param = $your_param_from_parameters 
} 

/** 
* @param LifecycleEventArgs $args 
*/ 
public function postRemove(LifecycleEventArgs $args) 
{ 
    $entity = $args->getEntity(); 

    if ($entity instanceof YourEntity) { 
     //DO THE MAGIC!! 
    } 
} 
}