/** * Формирует url для маршрута относительно HTTP-запроса к компоненту * @param string $routeName имя маршрута * @param array $params * @param bool $useQuery использовать ли GET-параметры текущего HTTP-запроса * @return string */ public function __invoke($routeName, $params = [], $useQuery = false) { $context = $this->dispatcher->getCurrentContext(); $baseUrl = $context->getBaseUrl(); $url = $baseUrl . $context->getComponent()->getRouter()->assemble($routeName, $params) ?: '/'; if ($useQuery) { $getParams = $this->dispatcher->getCurrentRequest()->query->all(); if ($getParams) { $url .= '?' . http_build_query($getParams); } } return $url; }