Podejście MVC będziemy poznawać w praktyce, tak, aby na końcu zrozumieć je bez zbędnych wstępów i przydługich definicji. Zaczynajmy.
Tworzymy plik 404.php:
<?php
echo "<h1>404 Not Found!</h1>";
W tym samym folderze tworzymy jakikolwiek plik o treści:
<?php
http_response_code(404);
require __DIR__ . "/404.php";
Ustawiamy kod odpowiedzi HTTP na 404. Wklejamy plik 404.php za pomocą słówka kluczowego require. Zmienna magiczna __DIR__ posiada ścieżkę do aktualnego folderu.
Teraz napiszemy sobie taki tyci-tyci ErrorController:
<?php
class ErrorController {
private function __construct(){}
public static function throwError($status_code, $path) {
http_response_code($status_code);
require __DIR__ . "/$path";
}
}
ErrorController::throwError(404, "404.php");
Możemy teraz utworzyć plik 403.php (w tym samym folderze):
<?php
echo "<h1>403 Unauthorized!</h1>";
Taki błąd też możemy wyrzucić:
<?php
class ErrorController {
private function __construct(){}
public static function throwError($status_code, $path) {
http_response_code($status_code);
require __DIR__ . "/$path";
}
}
ErrorController::throwError(403, "403.php");
Nie jest to najlepsze rozwiązanie, dlatego w następnym odcinku zrobimy to dużo lepiej. Tym niemniej – idziemy do przodu.