/** * Check if request matches this route. * * @param Request $request Request to check against. * @return bool */ public function match(Request $request) : bool { // use absolute path if ($this->flags & self::UseAbsolutePath) { $path = $request->getPath(); // use relative path } else { $path = $request->getRelativePath(); } return $this->path === rawurldecode($path); }
/** * Check if request matches this route. * * @param Request $request Request to check against. * @return bool */ public function match(Request $request) : bool { // use absolute path if ($this->flags & self::UseAbsolutePath) { $path = $request->getPath(); // use relative path } else { $path = $request->getRelativePath(); } return (bool) preg_match(sprintf('/%s/', str_replace('/', '\\/', $this->path)), rawurldecode($path)); }
/** * Creates a Controller instance. * * @param Request $request Request data. * @param Response $response Response data. */ public function __construct(Request $request, Response $response) { // split up request path $path = explode('/', trim($request->getRelativePath(), '/')); // first item is action $action = array_shift($path); // set action if not empty if (empty($action) === false) { $this->setAction($action); } $this->setParameters((array) $path)->execute($request, $response); }