php编写一个简单的路由类

 更新时间:2011年04月13日 00:47:09   作者:  
php编写一个简单的路由类,需要的朋友可以参考下。
类代码:
复制代码 代码如下:

<?php
class Router
{
public function getRouter($types = 1)
{
if ( isset($_SERVER['PATH_INFO']) )
{
$query_string = substr(str_replace(array('.html','.htm', '.asp', '//'), '',$_SERVER['PATH_INFO']),1);
}
else
{
$query_string = str_replace($_SERVER['SCRIPT_NAME'], '',$_SERVER['PHP_SELF']);
}
if ( $types == 1 )
{
// 第一种类型以/分隔
$temp = explode('/', $query_string);
}
elseif ($types == 2)
{
$temp = explode('-', $query_string);
}
elseif ($types == 3)
{
return array('Controller'=>$_GET['controller']);
}
if ( empty($temp[0]) )
{
return array('Controller' => 'index','Operate' => 'index');
}
if ( empty($temp[1]) )
{
$temp[] = 'index';
}
// 去除空项
foreach ($temp as $val)
{
if ($val)
{
$url[] = $val;
}
}
list($controller, $operate) = $url;
//有参数的情况
$params = array();
if ( count($url)>2 )
{
array_shift($url);
array_shift($url);
$params = $url;
}
return
array(
"Controller" => $controller,
"Operate" => $operate,
"params" => $params,
);
}
}
?>

调用方法:
复制代码 代码如下:

<?php
$url = new Router();
$url->getRouter(1);
print_r($url); //在这里可以看到各元素
?>

相关文章

  • PHP实现的下载远程文件类定义与用法示例

    PHP实现的下载远程文件类定义与用法示例

    这篇文章主要介绍了PHP实现的下载远程文件类定义与用法,结合具体实例形式分析了php封装的下载远程文件操作类定义及使用方法,需要的朋友可以参考下
    2017-07-07
  • Laravel 5.0 发布 新版本特性详解

    Laravel 5.0 发布 新版本特性详解

    这篇文章主要介绍了Laravel 5.0 发布 新版本特性详解,本文讲解了目录结构、Contracts、路由缓存、路由中间、控制器方法注入、认证脚手架等新特性,需要的朋友可以参考下
    2015-02-02
  • php生成过去100年下拉列表的方法

    php生成过去100年下拉列表的方法

    这篇文章主要介绍了php生成过去100年下拉列表的方法,涉及php针对日期格式转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 2010年最新PHP类的精髓归纳

    2010年最新PHP类的精髓归纳

    2010年最新PHP类的精髓归纳,需要的朋友可以参考下。
    2010-03-03
  • php开发环境配置记录

    php开发环境配置记录

    我一般都是自己配置环境,为了方便在异地快速配置,总结一下,备忘.如果大家感觉麻烦可以一些php运行环境软件。例如phpnow等。
    2011-01-01
  • PHP实现简单爬虫的方法

    PHP实现简单爬虫的方法

    这篇文章主要介绍了PHP实现简单爬虫的方法,涉及php页面抓取及分析的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • php实现的简单日志写入函数

    php实现的简单日志写入函数

    这篇文章主要介绍了php实现的简单日志写入函数,涉及针对文件的操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • 如何理解PHP程序执行的过程原理

    如何理解PHP程序执行的过程原理

    本文主要介绍了PHP程序指定的过程原理。为了以后能开发PHP扩展,就一定要了解PHP的执行顺序。这篇文章就是为C开发PHP扩展做铺垫。
    2021-05-05
  • 为Plesk PHP7启用Oracle OCI8扩展方法总结

    为Plesk PHP7启用Oracle OCI8扩展方法总结

    在本篇文章里小编给大家总结了关于为Plesk PHP7启用Oracle OCI8扩展方法和相关代码,需要的朋友们学习下。
    2019-03-03
  • PHP中使用mktime获取时间戳的一个黑色幽默分析

    PHP中使用mktime获取时间戳的一个黑色幽默分析

    mktime(hour,minute,second,month,day,year,is_dst)这是mktime的语法说明,一目了然应该不难写出一个时间戳的代码来
    2012-05-05

最新评论