diff --git a/route.php b/route.php index 6e1b811..12160b2 100644 --- a/route.php +++ b/route.php @@ -537,6 +537,8 @@ class route // URL === REGEXP ROUTE // Variables are exposed in url/{var1}/{var2} $regex = "#^$route$#U"; + //$regex = str_replace ("?", "\?", $regex); + //$regex = str_replace (".", "\.", $regex); $regex = str_replace ("{", "(?P<", $regex); $regex = str_replace ("}", ">.+)", $regex); unset ($matches); @@ -548,7 +550,12 @@ class route $params = array (); $reflect = new ReflectionFunction ($function); foreach ($reflect->getParameters() as $key=>$val) - $params[] = $matches[$val->name]; + { + if (isset ($matches[$val->name])) + $params[] = $matches[$val->name]; + else + $params[] = null; + } call_user_func_array ($function, $params); exit; }