2
我有一個實體File()
可以刪除。鏈接到實體,/upload
中有一個實際文件,名稱爲$file->getName()
。當File()
實體被刪除時,刪除文件的最好方法是什麼?我應該在控制器中執行該操作,還是可以將實體銷燬時觸發的方法放入File()
?在symfony中刪除實體時刪除文件
我有一個實體File()
可以刪除。鏈接到實體,/upload
中有一個實際文件,名稱爲$file->getName()
。當File()
實體被刪除時,刪除文件的最好方法是什麼?我應該在控制器中執行該操作,還是可以將實體銷燬時觸發的方法放入File()
?在symfony中刪除實體時刪除文件
處理這種情況的最好方法是使用Doctrine生命週期事件(在您的情況下,preRemove
是個不錯的選擇)。
你不應該在你的控制器中處理它,因爲你的實體可以在任何地方被刪除(例如:在你的服務中,級聯刪除...)。如果您要將偵聽器創建爲具有依賴注入的服務,請參閱Doctrine Events和Symfony關於How to Work with Lifecycle Callbacks或How to Register Event Listeners and Subscribers的文檔。