2017-02-28 2 views
1

私はUploadControllerにこの機能を持っています。この機能はアップロードをキャンセルするために使用されており、改良を図っています。ここにリポジトリ、イベント、またはサービスプロバイダを使用しますか?

この"File::delete..block"は私のアプリケーションで2回存在します。たとえば、コントローラからこのブロックを除外することは理にかなっていますか?はいの場合、私は何を使用しますか、RepositoryService ProviderまたはEvent

public function postDelete(Request $request) 
{ 
    $filename = $request->input('filename'); 

    $upload = Upload::where('filename',$filename)->where('accepted',0)->firstOrFail(); 

    File::delete('img/uploads/'.$filename.'_o.jpg'); 
    File::delete('img/uploads/'.$filename.'.jpg'); 
    File::delete('img/uploads/'.$filename.'_zoom.jpg'); 
    File::delete('img/uploads/'.$filename.'_tn.jpg'); 
    File::delete('img/uploads/'.$filename.'_250.jpg'); 
    File::delete('img/uploads/'.$filename.'_50.jpg'); 

    $upload->delete(); 

    Cache::forget('waiting_uploads'); 

    $msg = 'upload has been deleted'; 
    Mail::to('[email protected]')->send(new TextMail($msg)); 

    return redirect('upload'); 
} 

答えて

1

私はそれをリポジトリを呼び出すサービスに入れます。そうすれば、コントローラはデータレイヤオブジェクトとやりとりすることがなくなり、すべてがきれいに分離されます。

関連する問題