protected function request($path) { $request = new Request(); $root = "/test"; $request->setRoot($root); $request->getUri()->setPath("{$root}/{$path}"); return $request; }
public function testSimple1() { $request = new Request(); $root = "/demo"; $request->setRoot($root); $request->getUri()->setPath("{$root}/admin/view/42"); $context = new R\Destination(); // $context->setRemainder("/admin/article/view/123/the-slug"); $route = new R\RegexRoute("|^/admin/(?<action>[\\w]+)|", "{~}/admin/{action}"); $dest = $route->route($request, $context); // var_dump($dest); $uri = $route->assemble(R\Destination::match(['action' => "index"]), $root); // var_dump($uri); }
public function testSimple1() { $request = new Request(); $root = "/demo"; $request->setRoot($root); $request->getUri()->setPath("{$root}/admin/view/segment"); $context = new Rt\Destination(); $route = new Rt\SegmentRoute("/admin[/{action}]"); $route->setPartial(); $dest = $route->route($request, $context); // var_dump($dest); $uri = $route->assemble(Rt\Destination::match(['action' => "index"]), $root); // var_dump($uri); }
/** * @param Request $request * @param Input $input * @return self */ public function init(Request $request, Input $input, array $arguments) { $options = []; $path = ""; foreach ($arguments as $offset => $arg) { if ($offset == 0) { continue; } if (substr($arg, 0, 2) == '--') { // [option] list($n, $v) = $this->parseOption($arg); $options[$n] = $v; } else { // [arguments] $path .= '/' . urlencode($arg); } } if (!$path) { $path = '/'; } $query = new Query($options); $request->setRoot(''); $request->setUri($path); $input->setParams($options); $request->getUri()->setQuery($query->toString()); return $this; }