Example #1
0
 /**
  * @param string $key
  * @param int $val
  * @param Route $route
  */
 private function _tryRouteViaValue($key, $val, Route $route = null)
 {
     if (!$route) {
         $route = new Route();
     }
     $parts = explode(',', $key);
     $node = Node::factory((int) $parts[0], (int) $parts[1], $val);
     $route->addNode($node);
     //unset($this->_sortedValues[$key]);
     $neighbours = $this->_getSuitableNeighbours($node);
     if (!$neighbours) {
         $this->_addRoute($route);
     } else {
         foreach ($neighbours as $nextKey => $neighbour) {
             $routeClone = clone $route;
             $this->_tryRouteViaValue($nextKey, $neighbour, $routeClone);
         }
     }
 }