corso https://vola.udemy.com/course/php-mvc-from-scratch/learn/lecture/40931984#overview
filippo.bertilotti
2024-05-15 3880d4c49c3ee3a5e363683be257f895ebf5cd83
src/Framework/router.php
@@ -12,8 +12,9 @@
    }
    public function match (string $path,): array|bool {
    public function match (string $path): array|bool {
        $path = urldecode($path);
        $path = trim($path, "/");   
        foreach ($this->routes as $route) {
@@ -40,11 +41,14 @@
        $segments = array_map(function(string $segment) :string {
            if(preg_match("#^\{([a-z][a-z0-9]*)\}$#", $segment, $matches)) {
                $segment = "(?<" . $matches[1] . ">[a-z]+)";
                return "(?<" . $matches[1] . ">[^/]*)";
            }
            if(preg_match("#^\{([a-z][a-z0-9]*):(.+)\}$#", $segment, $matches)) {
                return "(?<" . $matches[1] . ">". $matches[2] ."[^/]*)";
            }
            return $segment;
        }, $segments);
        return "#^" . implode("/", $segments) . "$#";
        return "#^" . implode("/", $segments) . "$#iu";
    }
}