Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

36 lines
798B

  1. <?php
  2. declare(strict_types=1);
  3. namespace Core;
  4. abstract class Controller
  5. {
  6. protected function view(string $view, array $data = []): Response
  7. {
  8. return View::render($view, $data);
  9. }
  10. protected function fragment(string $view, array $data = [], int $status = 200, array $headers = []): Response
  11. {
  12. return View::fragment($view, $data, $status, $headers);
  13. }
  14. protected function redirect(string $url): Response
  15. {
  16. return Response::redirect($url);
  17. }
  18. protected function json(array $data): Response
  19. {
  20. return Response::json($data);
  21. }
  22. protected function requirePost(Request $request): void
  23. {
  24. if ($request->method() !== 'POST') {
  25. throw new \Exception('This action requires POST.');
  26. }
  27. }
  28. }

Powered by TurnKey Linux.