/** * @param Destination $destination * @param Uri $context * @return Uri */ public function assemble(Destination $destination, $context = null) { $base = Uri::cast($context); $params = $destination->getParams(); $path = $this->resolvePattern($params->core()); $uri = new Uri(); $uri->setPath($base->getPath() . $path); return $uri; }
/** * @param Destination $destination * @param array $params * @return Param\Node */ protected function processParams(Destination $destination, array $params) { $target = $destination->getParams(); $target->inject($this->getDefaults()); $target->inject($params); return $target; }