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!!
}
}
}