本文整理汇总了PHP中Routes::getRelativeUrl方法的典型用法代码示例。如果您正苦于以下问题:PHP Routes::getRelativeUrl方法的具体用法?PHP Routes::getRelativeUrl怎么用?PHP Routes::getRelativeUrl使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Routes
的用法示例。
在下文中一共展示了Routes::getRelativeUrl方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: doPathReplacement
/**
* Given a path and replacements, it will replace the identifiers in the
* path with the replacements given.
* If replacements is a single length array that has an element that is
* an array, it will do replacements based on key value pairs.
* @return string
*/
public static function doPathReplacement($path, $replacements = array())
{
// Do this to allow key pairing when calling from php
if (count($replacements) > 0 && !array_key_exists(0, $replacements)) {
$replacements = array($replacements);
}
// Get the count of the replacements
$replacementsCount = count($replacements);
if ($replacementsCount == 0) {
// Nothing to replace, just return the relative url
return self::getRelativeUrl($path);
} else {
if ($replacementsCount == 1 && is_array($replacements[0])) {
// We're going to do key pairing to replace the identifiers in the path
$patterns = array();
$values = array();
foreach ($replacements[0] as $key => $val) {
$patterns[] = self::IDENT_PREG_START . preg_quote($key) . self::IDENT_PREF_END;
$values[] = $val;
}
$path = Routes::getRelativeUrl(preg_replace($patterns, $values, $path));
$cleanedPath = preg_replace(self::IDENT_PREG, '', $path);
return $cleanedPath;
} else {
// Replace based on position in the array and not keys
$patterns = array_fill(0, $replacementsCount, self::IDENT_PREG);
$path = preg_replace($patterns, $replacements, $path, 1);
$cleanedPath = preg_replace(self::IDENT_PREG, '', $path);
return self::getRelativeUrl($cleanedPath);
}
}
}