将参数传递给Doctrine的生命周期回调方法

时间:2016-12-05 23:32:38

标签: symfony events doctrine-orm

我有Doctrine实体File,它知道磁盘上文件的相对路径(例如m/d/5/md5.flac)。由于我不想让磁盘装满无用的文件,我也想从磁盘中删除文件。

为此,我决定利用Doctrine的生命周期回调,因为它们非常易于使用。问题是我没有绝对路径的第一部分(例如/mnt/storage)到我的config.yml中配置的文件作为众多选项之一。

有没有办法如何将配置选项传递给生命周期回调

我发现的另一种可能性是使用正常的学说事件,但是调用一个unlink()似乎是一种过度杀伤。

1 个答案:

答案 0 :(得分:1)

symfony/doctrine documentation中所述:

  

生命周期回调方法不接收任何参数。这总是如此   生命周期回调的情况是有意的:生命周期回调   应该是与内部有关的简单方法   转换实体中的数据(例如,设置创建/更新的字段,   产生一个slug值。)

我认为在这种情况下,最好的选择是设置要处理/删除的文件的路径,并在实体的回调方法中进行处理。