一个简单的php路由类
网络编程 2021-07-05 09:10www.168986.cn编程入门
这篇文章主要为大家详细介绍了一个简单的php路由类,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了php编写一个简单的路由类,供大家参考,具体内容如下
<?php namespace cmhc\Hcrail; 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; } }
下载地址
希望本文所述对大家学习PHP程序设计有所帮助。
上一篇:PHP中的表达式简述
下一篇:解读PHP中上传文件的处理问题
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指