/** * @param $macros * @param array $params * @param array $query * @return null|string */ public function create($macros, array $params = [], array $query = []) { $builder = new Builder($macros, $params, $this->getRouter()); if ($builder->make()) { return $this->path($builder->getLink(), $query); } else { return null; } }
/** * @param Mapper $mapper * @param QueryBuilder $queryBuilder * @return Mapper * @throws UrlRouteQuery\MapperException */ public function injectMapper(Mapper $mapper, QueryBuilder $queryBuilder) { $source = new OrmQuery($queryBuilder); $mapper->setDataSource($source); $mapper->setDi($this->getDi()); $mapper->processRequestParams(); $builder = new Builder("{$this->getName()}:{$this->getAction()}", $this->getParams(), $this->router); $mapper->path($builder->make()); return $mapper; }