本文整理匯總了PHP中Nette\Http\Url::getQueryParameters方法的典型用法代碼示例。如果您正苦於以下問題:PHP Url::getQueryParameters方法的具體用法?PHP Url::getQueryParameters怎麽用?PHP Url::getQueryParameters使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Nette\Http\Url
的用法示例。
在下文中一共展示了Url::getQueryParameters方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: constructUrl
/**
* @param Request $appRequest
* @param Url $refUrl
* @return null|string
*/
public function constructUrl(Request $appRequest, Url $refUrl)
{
// one way can't generate link
if ($this->options['oneWay']) {
return NULL;
}
$params = $this->clearParameters($appRequest->getParameters());
$action = new Action($appRequest->getPresenterName() . ':' . $appRequest->getParameter('action'), $params);
// ISource return NULL, not found url to generate
if (($seoUrl = $this->source->toUrl($action)) === NULL) {
return NULL;
}
if (!$seoUrl instanceof Url) {
$seoUrl = new Url($seoUrl);
}
// host
if ($seoUrl->getHost()) {
$host = $refUrl->getHost();
$parts = ip2long($host) ? [$host] : array_reverse(explode('.', $host));
$host = strtr($seoUrl->getHost(), ['%tld%' => $parts[0], '%domain%' => isset($parts[1]) ? "{$parts['1']}.{$parts['0']}" : $parts[0], '%sld%' => isset($parts[1]) ? $parts[1] : '', '%host%' => $refUrl->getHost()]);
} else {
$host = $refUrl->getHost();
}
// path
$path = $seoUrl->getPath();
// query
$query = $seoUrl->getQueryParameters() + $params;
ksort($query);
$seoUrl->setQuery($query);
$query = $seoUrl->getQuery();
// fragment
$fragment = $seoUrl->getFragment();
return ($this->options['secured'] ? 'https' : 'http') . '://' . $host . $refUrl->getBasePath() . ($path === '/' ? '' : $path) . ($query ? '?' . $query : '') . ($fragment ? '#' . $fragment : '');
}