我有一个可以删除的实体File()
。链接到实体的/upload
中有一个名为$file->getName()
的实际文件。删除File()
实体时,删除文件的最佳方法是什么?我应该在Controller中执行此操作,还是可以将一个方法放到实体被销毁时触发的File()
?
答案 0 :(得分:6)
处理此案例的最佳方法是使用Doctrine生命周期事件(在您的情况下,preRemove
是一个不错的选择。)
您不应该在控制器中处理它,因为您的实体可以在任何地方删除(例如:在您的服务中,级联删除...)。如果要将侦听器创建为具有依赖项注入的服务,请参阅Doctrine Events和Symfony关于How to Work with Lifecycle Callbacks或How to Register Event Listeners and Subscribers的文档列表。