/** * Transforms Route array to Route object. * @param array $route Route array with details. * @return Route */ public function transformArrayToRoute(array $route) { if (!isset($route['name']) || !isset($route['sourceRoute']) || !isset($route['action'])) { throw new InvalidArgumentException('Each Route must contains name, sourceRoute and action indexes.'); } $obj = new Route($route['name'], $route['sourceRoute'], $route['action']); if (isset($route['rules'])) { $obj->setRules($route['rules']); } if (isset($route['methods'])) { $obj->setMethods($route['methods']); } if (isset($route['route'])) { $obj->setRoute($route['route']); } if (isset($route['defaults'])) { $obj->setDefaults($route['defaults']); } if (isset($route['extras'])) { $obj->setExtras($route['extras']); } if (isset($route['tokens'])) { $obj->setTokens($route['tokens']); } if (isset($route['arguments'])) { $obj->setArguments($route['arguments']); } return $obj; }