/** * Create a Route from an array. * * @param array $data * @return Route */ public static function fromArray(array $data) : self { $methods = ['*']; if (isset($data['methods'])) { $methods = preg_split('/\\W+/', strtoupper($data['methods'])); } $path = '/' . ltrim($data['path'], '/'); $route = new Route(); $route->path($path)->methods(...$methods)->handler($data['handler']); if (isset($data['defaults'])) { $route->defaults($data['defaults']); } if (isset($dat['filters'])) { $route->filters(...$data['filters']); } return $route; }