> php教程 > php手册 > 简单的url路由控制[PHP]

简单的url路由控制[PHP]

WBOY
풀어 주다: 2016-06-06 19:34:41
원래의
1541명이 탐색했습니다.

无详细内容 无 define('BASE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);//系统根目录define('MODULE_PATH', BASE_PATH.'modules'.DIRECTORY_SEPARATOR);//模块目录 $module = empty($_GET['m']) ? '' : strtolower($_GET['m']); //文件夹$control = emp

define('BASE_PATH', dirname(__FILE__).DIRECTORY_SEPARATOR);//系统根目录
define('MODULE_PATH', BASE_PATH.'modules'.DIRECTORY_SEPARATOR);//模块目录
 
$module = empty($_GET['m']) ? '' : strtolower($_GET['m']); //文件夹
$control = empty($_GET['c'])? 'index' : strtolower($_GET['c']); //文件{类}
$action = empty($_GET['a'])? 'index' : strtolower($_GET['a']); //方法
 
if($module){
     $controlFile = MODULE_PATH . $module . DIRECTORY_SEPARATOR . $control . '.php';
     if( !file_exists($controlFile) )
          echo $module . DIRECTORY_SEPARATOR . $control . '.php'.'类文件不存在'; exit();
 
     include($controlFile);
     $c = new $control;
 
     if( !method_exists($c, $action) )
          echo $c.'方法不存在'; exit();
 
     $c->$action();
}else{
     //默认首页[可用smarty模板引擎加载视图]
     $smarty->display('index.html');
}
/**
写了个简单的路由控制功能,根据参数m,c,a,控制响应url的模块,文件,方法。(MVC)方式URL。
说明:
MVC方式,m模块[对应模块文件夹],c控制器[对应类文件],a方法[对应对象方法]
没有指定module时默认访问系统首页
没有指定control时默认访问index[文件|类],没有该文件时输出文件[类]不存在错误
没有指定action时默认访问index[方法],没有该方法时输出方法不存在错误

例如:http://www.xxx.com/web/index.php?m=admin
访问 module下admin文件夹下的index文件(类名与文件名相同)下的index方法
*/
로그인 후 복사
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿