public function execute(Request $req, Response $res) { if (!preg_match($this->_regex, $req->path(), $path)) { return; } $base = $req->base(); $req->base("{$base}{$path[1]}/")->path(isset($path[2]) ? $path[2] : ''); $result = call_user_func($this->_executable instanceof Executable ? [$this->_executable, 'execute'] : $this->_executable, $req, $res); $req->base($base)->path($path[0]); return $result; }