Просмотр файла app/Controllers/FileController.php

Размер файла: 743B
  1. <?php
  2.  
  3. declare(strict_types=1);
  4.  
  5. namespace App\Controllers;
  6.  
  7. use Illuminate\Support\Str;
  8.  
  9. class FileController extends BaseController
  10. {
  11. /**
  12. * Главная страница
  13. *
  14. * @param string $page
  15. *
  16. * @return string
  17. */
  18. public function index(string $page = 'index'): string
  19. {
  20. if ($page === 'index') {
  21. return view('files/index');
  22. }
  23.  
  24. if (! preg_match('|^[a-z0-9_\-/]+$|i', $page)) {
  25. abort(404);
  26. }
  27.  
  28. $page = Str::contains($page, '/') ? $page : $page . '/index';
  29.  
  30. if (! file_exists(RESOURCES . '/views/files/' . $page . '.blade.php')) {
  31. abort(404);
  32. }
  33.  
  34. return view('files/layout', compact('page'));
  35. }
  36. }