corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-17 4ee40e3a4d37aff274b3171294feda19d38f65c5
spostata gestione delle exception nella classe apposita (parte 106)
2 files modified
45 ■■■■ changed files
index.php 23 ●●●●● patch | view | raw | blame | history
src/Framework/ErrorHandler.php 22 ●●●●● patch | view | raw | blame | history
index.php
@@ -8,28 +8,7 @@
set_error_handler("Framework\ErrorHandler::handleError");
set_exception_handler(function (Throwable $exception) {
    static $show_errors = true;
    if($exception instanceof Framework\Exceptions\PageNotFoundException) {
        http_response_code(404);
        $template = "404.php";
    } else {
        http_response_code(500);
        $template = "500.php";
    }
    if($show_errors) {
        ini_set("display_errors", "1");
    }else{
        ini_set("display_errors","0");
        ini_set("log_errors","1");
        require "views/$template";
    }
    throw $exception;
});
set_exception_handler("Framework\ErrorHandler::handleException");
$path = parse_url($_SERVER["REQUEST_URI"], PHP_URL_PATH);
src/Framework/ErrorHandler.php
@@ -5,6 +5,7 @@
namespace Framework;
use ErrorException;
use Throwable;
class ErrorHandler {
    public static function handleError(
@@ -16,4 +17,25 @@
        {
            throw new ErrorException($errstr,0, $errno, $errfile, $errline);
    }
    public static function handleException(Throwable $exception) {
        static $show_errors = true;
        if($exception instanceof Exceptions\PageNotFoundException) {
            http_response_code(404);
            $template = "404.php";
        } else {
            http_response_code(500);
            $template = "500.php";
        }
        if($show_errors) {
            ini_set("display_errors", "1");
        }else{
            ini_set("display_errors","0");
            ini_set("log_errors","1");
            require "views/$template";
        }
        throw $exception;
    }
}