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