File "router.php"

Full Path: C:/wamp64/www/casos_medicos1/controller/router.php
File size: 1009 B
MIME-type: text/x-php
Charset: utf-8

<?php
class Router
{
    public function dispatch($url)
    {
        $url = trim($url, '/');
        $parts = explode('/', $url);

        $controllerName = ucfirst($parts[0]) . 'Controllers';
        $method = $parts[1] ?? 'index';

        $controllerPath = __DIR__ . '/' . $controllerName . '.php';

        if (!file_exists($controllerPath)) {
            http_response_code(404);
            echo "❌ Controlador no encontrado: $controllerPath";
            exit;
        }

        require_once $controllerPath;

        if (!class_exists($controllerName)) {
            echo "❌ Clase '$controllerName' no encontrada en $controllerPath";
            exit;
        }

        $controller = new $controllerName();

        if (!method_exists($controller, $method)) {
            http_response_code(404);
            echo "❌ Método '$method' no encontrado en el controlador $controllerName.";
            exit;
        }

        $controller->$method();
    }
}