0
我使用了奏鸣曲管理软件包。 如何让实体参与parameters.yml? 直接或通过服务....SF2 - 奏鸣曲:如何从参数parameter.yml中获得参数
我必须在Postremove做一些整理工作,我需要在这里披露路径,访问数据和更多。 这我不会写入硬Entitiy,但从parameters.yml中选择。
蒂莫
我使用了奏鸣曲管理软件包。 如何让实体参与parameters.yml? 直接或通过服务....SF2 - 奏鸣曲:如何从参数parameter.yml中获得参数
我必须在Postremove做一些整理工作,我需要在这里披露路径,访问数据和更多。 这我不会写入硬Entitiy,但从parameters.yml中选择。
蒂莫
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!!
}
}
}