我有Doctrine实体File
,它知道磁盘上文件的相对路径(例如m/d/5/md5.flac
)。由于我不想让磁盘装满无用的文件,我也想从磁盘中删除文件。
为此,我决定利用Doctrine的生命周期回调,因为它们非常易于使用。问题是我没有绝对路径的第一部分(例如/mnt/storage
)到我的config.yml
中配置的文件作为众多选项之一。
有没有办法如何将配置选项传递给生命周期回调?
我发现的另一种可能性是使用正常的学说事件,但是调用一个unlink()
似乎是一种过度杀伤。
答案 0 :(得分:1)
如symfony/doctrine documentation中所述:
生命周期回调方法不接收任何参数。这总是如此 生命周期回调的情况是有意的:生命周期回调 应该是与内部有关的简单方法 转换实体中的数据(例如,设置创建/更新的字段, 产生一个slug值。)
我认为在这种情况下,最好的选择是设置要处理/删除的文件的路径,并在实体的回调方法中进行处理。