本文整理汇总了PHP中Cx\Core\Routing\Url::params2array方法的典型用法代码示例。如果您正苦于以下问题:PHP Url::params2array方法的具体用法?PHP Url::params2array怎么用?PHP Url::params2array使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cx\Core\Routing\Url
的用法示例。
在下文中一共展示了Url::params2array方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: appendParameters
/**
* Callback method for appending preview and appview parameter to href and action attributes.
*
* @access private
* @param array $matches regex matches
* @return string replacement string
*/
private function appendParameters($matches)
{
$before = $matches[1];
$quote = $matches[2];
$value = $matches[3];
$after = $matches[4];
if (strpos($value, '?') !== false) {
list($path, $query) = explode('?', $value);
$query = \Cx\Core\Routing\Url::params2array($query);
} else {
$path = $value;
$query = array();
}
$extension = pathinfo($path, PATHINFO_EXTENSION);
if (!empty($extension) && $extension != 'php') {
return $matches[0];
}
if (!empty($_GET['preview']) && !isset($query['preview'])) {
$query['preview'] = $_GET['preview'];
}
if (!empty($_GET['templateEditor']) && !isset($query['templateEditor'])) {
$query['templateEditor'] = $_GET['templateEditor'];
}
if (isset($_GET['appview']) && $_GET['appview'] == 1 && !isset($query['appview'])) {
$query['appview'] = $_GET['appview'];
}
$query = \Cx\Core\Routing\Url::array2params($query);
// replace & with & but only & (not followed by amp;)
$query = preg_replace('/&(?!amp;)/', '&', $query);
return $before . $quote . $path . '?' . $query . $quote . $after;
}