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限制文件下载速度的代码,配有详细的代码分析,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • 简单实用的PHP防注入类实例

    简单实用的PHP防注入类实例

    这篇文章主要介绍了简单实用的PHP防注入类实例,以两个简单的防注入类为例介绍了PHP防注入的原理与技巧,对网站安全建设来说非常具有实用价值,需要的朋友可以参考下
    2014-12-12
  • phpmail类发送邮件函数代码

    phpmail类发送邮件函数代码

    前天要给网站做一个小功能,就是在用户留言的时候发邮件通知管理员。我们都知道在PHP里有一个mail函数,但是要求服务器要有邮件服务器的功能,比如简单的SMTP或者POP3。但是,如果我们的服务器没有这种功能,那么怎么办呢
    2012-02-02
  • PHP实现动态添加XML中数据的方法

    PHP实现动态添加XML中数据的方法

    这篇文章主要介绍了PHP实现动态添加XML中数据的方法,结合实例形式分析了php操作xml格式数据类的定义及简单使用技巧,需要的朋友可以参考下
    2018-03-03
  • 国外十大最流行的PHP框架排名

    国外十大最流行的PHP框架排名

    本文来自国外的一个PHP技术人员网站,总结了国外的十个目前最流行的PHP MVC框架。具体排名顺序未必准确,还有些知名框架,如Kohana等也没有提及。不过仍可以做为一篇不错的参考
    2013-07-07
  • php异常处理技术,顶级异常处理器

    php异常处理技术,顶级异常处理器

    php对异常的处理与java一样,用到的是try{}catch(){}
    2012-06-06
  • php自动给文章加关键词链接的函数代码

    php自动给文章加关键词链接的函数代码

    自动给文章加关键词链接的php函数代码,需要的朋友可以参考下
    2012-11-11
  • php preg_match_all结合str_replace替换内容中所有img

    php preg_match_all结合str_replace替换内容中所有img

    最近做站的时候,采集了大量的数据,但采回来的数据基本上都要经过过滤原站保留的数据,其中IMG就是一个地方。网站上好多这些应用例子似乎没有必要“秀”出来,但站已几天没写日志,那就来一个吧
    2008-10-10
  • PHP使用DOM对XML解析处理操作示例

    PHP使用DOM对XML解析处理操作示例

    这篇文章主要介绍了PHP使用DOM对XML解析处理操作,结合实例形式分析了php基于DOM模型针对xml进行增删改查相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • php根据年月获取当月天数及日期数组的方法

    php根据年月获取当月天数及日期数组的方法

    这篇文章主要介绍了php根据年月获取当月天数及日期数组的方法,涉及php针对日期的相关判断、转换及字符与数组的遍历操作相关技巧,需要的朋友可以参考下
    2016-11-11

最新评论