本文整理汇总了PHP中zotop::application方法的典型用法代码示例。如果您正苦于以下问题:PHP zotop::application方法的具体用法?PHP zotop::application怎么用?PHP zotop::application使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类zotop
的用法示例。
在下文中一共展示了zotop::application方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: build
/**
* 根据参数生成完整的URL,如:url::build('site://zotop/index/default/arg1/arg2',array('param1'=>'1'),'#top')
*
* @param string $uri 如:{application}://{module}/{controller}/{action}/{arg1}/arg2 组成
* @param array|string $params URL参数 ,一般为数组,也可以是字符串,如:param1/1/param2/2
* @param string $extra 额外数据:如锚点信息等
* @return string 如:/index.php/module/controller/action/arg1/arg2?param1=1¶m2=2#top
*/
public static function build($uri = '', $params = null, $extra = '')
{
$application = '';
if (strpos($uri, '://')) {
list($application, $uri) = explode('://', $uri);
}
//获取入口文件地址
if (empty($application)) {
$base = url::scriptname();
} else {
$base = zotop::application($application, 'url') . '/' . zotop::application($application, 'base');
$base = url::decode($base);
}
//uri处理
if ($u = explode('/', trim($uri, '/'))) {
//获取namespace 和 arguments
$namespace = array_slice($u, 0, 3);
$namespace = implode('/', $namespace);
$arguments = array_slice($u, 3);
//namespace切换
$namespace = zotop::filter('zotop.namespace', $namespace, &$arguments);
foreach ($arguments as $arg) {
$querystring .= '/' . $arg;
}
//querystring
$querystring = $namespace . $querystring;
$querystring = empty($querystring) ? '' : '/' . $uri;
$querystring .= empty($suffix) ? '' : $suffix;
}
//处理id/5/n/6 形式的参数
if (!is_array($params)) {
$args = explode('/', $params);
while ($key = array_shift($args)) {
$params[$key] = array_shift($args);
}
}
if (is_array($params) && !empty($params)) {
if (strpos($querystring, '?')) {
$querystring .= '&' . http_build_query($params);
} else {
$querystring .= '?' . http_build_query($params);
}
}
//组装url
$url = $base . $querystring . $extra;
$url = url::clean($url);
return $url;
}
示例2: getControllerName
/**
* 返回当前的控制器的真实名称,含“_controller”
*
* @return string
*/
public static function getControllerName()
{
$controller = application::getController();
if (empty($controller)) {
$controller = zotop::application(APP_NAME, 'controller');
$controller = empty($controller) ? 'index' : $controller;
}
return $controller . '_controller';
}
示例3: application
/**
* 获取当前应用的url
*
* @return string 如:<install>/system/admin
*/
public static function application($id = '')
{
if (empty($id)) {
return dirname(url::base(true));
}
$url = zotop::application($id, 'url');
if ($url[0] !== '/' && strpos($url, '://') === false) {
$url = url::root() . '/' . $url;
}
return $url;
}