手机
当前位置:查字典教程网 >编程开发 >php教程 >一个简单的php路由类
一个简单的php路由类
摘要:本文实例为大家分享了php编写一个简单的路由类,供大家参考,具体内容如下

本文实例为大家分享了php编写一个简单的路由类,供大家参考,具体内容如下

<?php namespace cmhcHcrail; class Hcrail { /** * callback function * @var callable */ protected static $callback; /** * match string or match regexp * @var string */ protected static $match; protected static $routeFound = false; /** * deal with get,post,head,put,delete,options,head * @param $method * @param $arguments * @return */ public static function __callstatic($method, $arguments) { self::$match = str_replace("//", "/", dirname($_SERVER['PHP_SELF']) . '/' . $arguments[0]); self::$callback = $arguments[1]; self::dispatch(); return; } /** * processing ordinary route matches * @param string $requestUri * @return */ public static function normalMatch($requestUri) { if (self::$match == $requestUri) { self::$routeFound = true; call_user_func(self::$callback); } return; } /** * processing regular route matches * @param string $requestUri * @return */ public static function regexpMatch($requestUri) { //处理正则表达式 $regexp = self::$match; preg_match("#$regexp#", $requestUri, $matches); if (!empty($matches)) { self::$routeFound = true; call_user_func(self::$callback, $matches); } return; } /** * dispatch route * @return */ public static function dispatch() { if (self::$routeFound) { return ; } $requestUri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); $requestMethod = $_SERVER['REQUEST_METHOD']; if (strpos(self::$match, '(') === false) { self::normalMatch($requestUri); } else { self::regexpMatch($requestUri); } } /** * Determining whether the route is found * @return boolean */ public static function isNotFound() { return !self::$routeFound; } }

下载地址:https://github.com/cmhc/Hcrail

希望本文所述对大家学习PHP程序设计有所帮助。

【一个简单的php路由类】相关文章:

一个odbc连mssql分页的类

一个ORACLE分页程序,挺实用的.

一个程序下载的管理程序(一)

php编写一个简单的路由类

PHP生成唯一订单号的方法汇总

一个简单的自动发送邮件系统(三)

一个ftp类(ini.php)

一个目录遍历函数

简单易用的计数器(数据库)

一个简单的自动发送邮件系统(二)

精品推荐
分类导航