我使用了奏鸣曲管理包。 我如何让实体参与parameters.yml? 直接或通过服务....
我必须在Postremove做一些整理工作,我需要在这里披露路径,访问数据等等。 这个我不会写给难的Entitiy,但是参数.yml选择。
蒂莫
答案 0 :(得分: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!!
}
}
}