OptimizeController.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace App\Http\Controllers\Admin\Config;
  3. use Illuminate\Http\Request;
  4. use App\Http\Controllers\Controller;
  5. use App\Models\Config;
  6. use Artisan;
  7. class OptimizeController extends Controller
  8. {
  9. private Config $configModel;
  10. public function __construct(Config $config)
  11. {
  12. $this->configModel = $config;
  13. }
  14. /**
  15. * 복구 / 최적화
  16. * @method GET
  17. * @see /admin/config/optimize
  18. */
  19. public function index()
  20. {
  21. return view('admin.config.optimize.index', []);
  22. }
  23. /**
  24. * 1: Clear Application Cache
  25. * 2: Clear Route Cache
  26. * 3: Clear Configuration Cache
  27. * 4: Clear Compiled Views Cache
  28. * @method GET
  29. * @see /admin/config/optimize
  30. */
  31. public function clear(Request $request)
  32. {
  33. $cmd = $request->segment(5);
  34. switch($cmd) {
  35. case 'appCache' :
  36. $cmd = 'cache:clear';
  37. break;
  38. case 'routeCache' :
  39. $cmd = 'route:clear';
  40. break;
  41. case 'configCache' :
  42. $cmd = 'config:clear';
  43. break;
  44. case 'viewCache' :
  45. $cmd = 'view:clear';
  46. break;
  47. }
  48. Artisan::call($cmd);
  49. $message = Artisan::output();
  50. return redirect()->route('admin.config.optimize')->with('message', $message);
  51. }
  52. }