在symfony中删除实体时删除文件

时间:2017-04-11 21:57:17

标签: symfony doctrine

我有一个可以删除的实体File()。链接到实体的/upload中有一个名为$file->getName()的实际文件。删除File()实体时,删除文件的最佳方法是什么?我应该在Controller中执行此操作,还是可以将一个方法放到实体被销毁时触发的File()

1 个答案:

答案 0 :(得分:6)

处理此案例的最佳方法是使用Doctrine生命周期事件(在您的情况下,preRemove是一个不错的选择。)

您不应该在控制器中处理它,因为您的实体可以在任何地方删除(例如:在您的服务中,级联删除...)。如果要将侦听器创建为具有依赖项注入的服务,请参阅Doctrine Events和Symfony关于How to Work with Lifecycle CallbacksHow to Register Event Listeners and Subscribers的文档列表。