Example #1
0
 /**
  * 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;
 }