<?php /** * 路由 * @author 角度 QQ:1286522207 * */ class Dispatcher extends Action { private $url; private $config; function __construct(){ $this->routerCheck(); } /** * 路由检测 */ function routerCheck(){ global $config; $this->config=$config; $suffix=$this->config['URL_HTML_SUFFIX']; // 获取当前路由参数对应的变量 $paths = (array_filter(explode('/',trim(preg_replace('/\.'.$suffix.'$/','', $_SERVER['PHP_SELF']),'/')))); if ($this->config['URL_PATHINFO_MODEL']==1){ define('/index.php/Article','/'.$paths[0].'/'); }elseif ($this->config['URL_PATHINFO_MODEL']==2){ define('/index.php/Article','/'); } if (empty($paths[1])){ $paths[1]='index'; } if (empty($paths[2])){ $paths[2]='index'; } if (empty($paths[3])){ $paths[3]='index'; } $this->Action($paths); } /** * 实例化操作 */ function Action($paths){ if ($paths[1]==$this->config['TMPL_ADMIN_PATH']){ include APP_PATH.'/'.$this->config['TMPL_ADMIN_PATH'].'/commonAction.php'; $A=APP_PATH.'/'.$paths[1]."/".$paths[2]."Action.class.php"; $b=$paths[2]; @$c=$paths[3]; }else { $A=APP_PATH."/Action/".$paths[1]."Action.class.php"; $b=$paths[1]; $c=$paths[2]; } if (is_file($A)){ include $A; $action=$b."Action"; @$controller = new $action(); if(method_exists($controller, $c)){ $controller->$c(); }else { exit('方法不在'); } }else { exit('类不在'); } } /** * 解析为$_GET全局变量 */ function pathinfo(){ $pathinfo=(array_filter(explode('/',$this->url))); $count=count($pathinfo); for($foo=1;$foo<$count;$foo+=2){ $_GET[$pathinfo[$foo]]=($foo+2)==$count?array_shift(explode('.',$pathinfo[$foo+1])):$pathinfo[$foo+1]; } } /** * 重排数组 * @param unknown_type $array */ function Reorder($array){ $i=0; foreach ($array as $row){ $a[$i++]=$row; } return $a; } function __destruct(){ } }
以上就是PHP路由代码的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

SublimeText3 Mac version
God-level code editing software (SublimeText3)