本文整理汇总了PHP中zotop::applicationes方法的典型用法代码示例。如果您正苦于以下问题:PHP zotop::applicationes方法的具体用法?PHP zotop::applicationes怎么用?PHP zotop::applicationes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zotop
的用法示例。
在下文中一共展示了zotop::applicationes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: build
/**
* 根据参数生成完整的URL,如:url::build('zotop/index/default',array('id'=>'1'))
*
* @param string $uri 一般由{app}://{module}/{controller}/{action}组成
* @param array|string $params 动作参数 ,一般为数组
* @param array|string $arguments URL参数 ,一般为数组
* @param string $fragment 锚点
* @return string
*/
public static function build($uri, $params = null, $arguments = '', $fragment = '')
{
$uri = trim($uri, '/');
$app = '';
if (strpos($url, '://') !== false) {
$u = explode('://', $uri);
$app = $u[0];
$uri = $u[1];
}
//获取入口文件地址
if (empty($app)) {
$base = url::scriptname();
} else {
$base = zotop::applicationes($app, 'url') . '/' . zotop::applicationes($app, 'base');
}
//获取module/controller/action
if ($u = explode('/', trim($uri, '/'))) {
$namespace = implode('/', array_slice($u, 0, 3));
}
//处理id/5/n/6 形式的参数
if (!is_array($params)) {
$args = array();
$array = explode('/', $params);
while ($key = array_shift($array)) {
$args[$key] = array_shift($array);
}
$params = $args;
}
//合并参数
$str = '';
foreach ($params as $key => $value) {
$str .= '/' . rawurlencode($value);
}
//组装url
$url = $base . '/' . $namespace . $str . $fragment;
$url = url::clean($url);
return $url;
}