Controller.php 957 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace App\Core;
  3. use App\Core\Middlewares\BaseMiddleware;
  4. /*
  5. * Controlador base para todos los
  6. * controladores de la aplicación.
  7. */
  8. class Controller
  9. {
  10. public string $layout;
  11. public string $action = '';
  12. protected array $middlewares = [];
  13. /*
  14. * API para renderizar vistas.
  15. */
  16. public function render(string $view, array $params = [])
  17. {
  18. return Application::$app->view->renderView($view, $params);
  19. }
  20. /*
  21. * Establece el layout de la vista.
  22. */
  23. public function setLayout(string $layout)
  24. {
  25. $this->layout = $layout;
  26. }
  27. /*
  28. * Asigna un middleware a un controlador.
  29. */
  30. public function registerMiddleware(BaseMiddleware $middleware)
  31. {
  32. $this->middlewares[] = $middleware;
  33. }
  34. /*
  35. * Obtiene los middlewares asignados al controlador.
  36. */
  37. public function getMiddlewares(): array
  38. {
  39. return $this->middlewares;
  40. }
  41. }