Bladeren bron

Router fix for static route instances

Piotr Labudda 10 jaren geleden
bovenliggende
commit
4e4bb68ed3
1 gewijzigde bestanden met toevoegingen van 5 en 2 verwijderingen
  1. 5 2
      SE/se-lib/Router.php

+ 5 - 2
SE/se-lib/Router.php

@@ -34,12 +34,15 @@ class Router {
 	}
 
 	public static function getRoute($route) {
+		static $_routeInstances = null;
+		if (!is_array($_routeInstances)) $_routeInstances = array();
 		if (empty($route)) return;
+		if (array_key_exists($route, $_routeInstances)) return $_routeInstances[$route];
 
 		$routeClassName = "Route_{$route}";
 		if (Lib::tryLoadClass($routeClassName)) {
-			$route = new $routeClassName();
-			return $route;
+			$_routeInstances[$route] = new $routeClassName();
+			return $_routeInstances[$route];
 		} else {
 			throw new HttpException("Not found", 404);
 		}