PHP: <?phpnamespace test_shop;class Router{protected static $routes = [];protected static $route = [];public static function add($regexp, $route = []){ self::$routes[$regexp] = $route;}public static function getRoutes(){ return self::$routes;}public static function getRoute(){ return self::$route;}public static function dispatch($url){ if (self::matchRoute($url)){ echo 'OK'; }else { echo 'NO'; }}public static function matchRoute($url){ foreach (self::$routes as $pattern => $route) { if (preg_match("#{$pattern}#", $url,$matches)) { foreach ($matches as $k => $v) { if (is_string($k)) { $route[$k] = $v; } } if (empty($route['action'])){ $route['action'] = 'index'; } debug($route); return true; } } return false;}} На странице выходит надпись NO, хотя должен появиться массив. Где ошибка?
какой массив, какой из методов вы вызываете и почему он должен появится? желательно добавить кусок кодяры с вызовами методов из класса.
спасибо за отклик, я проверил код в других файлах и исправил ошибки. Все сработало. debug($route);- создан для проверки что находиться в переменной и там списком выходит page->controller....