Exemple #1
0
 /**
  * Формирует 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;
 }