[OPTIMISATION] Optimised more foreach loops to improve performance.

This commit is contained in:
Simon Sessingø
2015-12-10 03:41:10 +01:00
parent d36880e9a0
commit 3ba2cec8af
3 changed files with 24 additions and 7 deletions
+15 -3
View File
@@ -112,8 +112,13 @@ class RouterBase {
$routeNotAllowed = false;
$max = count($this->controllerUrlMap);
/* @var $route RouterEntry */
foreach($this->controllerUrlMap as $route) {
for($i = 0; $i < $max; $i++) {
$route = $this->controllerUrlMap[$i];
$routeMatch = $route->matchRoute($this->request);
if($routeMatch && !($routeMatch instanceof RouterGroup)) {
@@ -270,8 +275,12 @@ class RouterBase {
$c = '';
$method = null;
$max = count($this->controllerUrlMap);
/* @var $route RouterRoute */
foreach($this->controllerUrlMap as $route) {
for($i = 0; $i < $max; $i++) {
$route = $this->controllerUrlMap[$i];
// Check an alias exist, if the matches - use it
if($route instanceof RouterRoute && strtolower($route->getAlias()) === strtolower($controller)) {
@@ -292,7 +301,10 @@ class RouterBase {
$c = '';
// No match has yet been found, let's try to guess what url that should be returned
foreach($this->controllerUrlMap as $route) {
for($i = 0; $i < $max; $i++) {
$route = $this->controllerUrlMap[$i];
if($route instanceof RouterRoute && !is_callable($route->getCallback()) && stripos($route->getCallback(), '@') !== false) {
$c = $route->getClass();
} else if($route instanceof RouterController || $route instanceof RouterResource) {