php 简单的路由器代码
程序员文章站
2022-05-20 15:54:03
...
php解析地址 无 ?php/** * 路由器【核心文件】 * @author hxm * @version 1.0 * @since 2015.05.04 */class Router extends Object{public $module = 'indexAction'; //缺省控制器类名public $action = 'index'; //控制器缺省方法public $r = true; //是否可
php 解析地址
module = $url[1]; $this->action = isset($url[2]) && !empty($url[2]) ? $url[2] : $this->action; } else { $this->module = $this->action; } if($this->r == false ) { $made = array( 'module' => $this->module, 'action' => $this->action, ); return $this->getObject($made , 'webApp'); } else { return $this->rewrite($this->module, $this->action); } } /** * 重新定义框架重写规则 * * @access private * @param string $mod 控制器名 * @param string $action 请求的操作 * @param string $route 规则文件 * @return array */ private function rewrite( $mod , $action ) { $file = $this->route(); require $file; $url = '/'.trim( _URI_ ,'/').'/'; if( isset($rules) ) { foreach ($rules as $key => $val) { if(preg_match($val[0], $url) ) { $mod = isset($val[1]['mod']) ? $val[1]['mod'] : $mod; $action = isset($val[1]['action']) ? $val[1]['action'] : $action; } foreach ( $val[2] as $key => $value ) { if ( !(strpos($value, '#') === FALSE) ) { preg_match("$value", $url, $result); $param[$key] = isset($result[1]) ? $result[1] : ''; } else { $param[$key] = $value; } } } } $made = array( 'module' => $mod, 'action' => $action, 'param' => $param ); return $this->getObject($made , 'webApp'); } }
上一篇: python图片格式转换脚本
推荐阅读
-
php不使用插件导出excel的简单方法
-
php 生成自动创建文件夹并上传文件的示例代码
-
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
-
PHP上传图片到数据库并显示的实例代码
-
php实现网站顶踩功能的完整前端代码
-
Node.js 实现简单的接口服务器的实例代码
-
jQuery实现简单的滑动导航代码(移动端)
-
PHP如何通过传引用的思想实现无限分类(代码简单)
-
常用简单的js代码大全(初学者看懂代码的方法)
-
EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。