/** * * @param array $routes * @return Routes */ public function fromArray($routes) { $this->clearRoutes(); foreach ($routes as $name => $routeData) { $routeData['name'] = $name; $route = new Route(); $route->fromArray($routeData); if ($route->isValid()) { $this->routes[$route->name()] = $route; } } }
/** * @param mixed $offset * @param Route $value */ public function offsetSet($offset, $value) { if (!$value instanceof Route || !$value->isValid()) { throw new \Bixev\InterventionSdk\Exception('trying to set non valid route'); } if ($this->findByIdentifier($value->identifier) !== null) { foreach ($this as $k => $route) { if ($route->identifier == $value->identifier) { $this[$k] = $value; } } } else { parent::offsetSet($offset, $value); } }