组成php框架的必须品!
来源:互联网 发布:学编程需要什么学历 编辑:程序博客网 时间:2024/06/04 18:02
php框架大多是单入口文件,其中,单入口文件中 URL路由,转为PATHINFO的格式
if(isset($_SERVER['PATH_INFO'])){ // PATH_IFNO格式 是/xx/xx/xx/x$pathinfo = explode('/', trim($_SERVER['PATH_INFO'], '/')); // trim 删除 model和action 的两边的 / 不然产生的数组变形$_GET['m'] = (!empty($pathinfo[0])) ? $pathinfo[0] : 'index';array_shift($pathinfo);$_GET['a'] = (!empty($pathinfo[0])) ? $pathinfo[0] : 'index';array_shift($pathinfo);// 取出模块和方法 shift是为了下面的for循环从0开始,可以不要for ($i=0; $i < count($pathinfo); $i+=2){ $_GET[$pathinfo[$i]] = $pathinfo[$i+1];}// 取出其他的get参数}else{$_GET['m'] = (!empty($_GET['m'])) ? $_GET['m'] : 'index';$_GET['a'] = (!empty($_GET['a'])) ? $_GET['a'] : 'index'; // 判断有没有输入if($_SERVER["QUERY_STRING"]){ // 如果有 ?x=y&o=o&q=w 的格式unset($_GET['m']); // 为了build重新组成而删除unset($_GET['a']); // 同上$query = http_build_query($_GET); // 组成 one=1&two=2&five=kw&four=mk 格式$u = $_SERVER['SCRIPT_NAME']."/{$_GET['m']}/{$_GET['m']}/".str_replace(array('&','='), '/', $query);}else{$u = $_SERVER['SCRIPT_NAME']."/{$_GET['m']}/{$_GET['m']}/";}header('Location:'.$u); // 专向有PATH_INFO格式的地址}直接是过程话的没有封装,方便学习!
未完~
0 0
- 组成php框架的必须品!
- php web框架的组成
- AFNetworking框架的组成
- Android 框架的组成
- Qeweb框架包的组成
- Hadoop的整体框架组成
- 组成Spring框架的7个模块
- 应用程序框架实战五:应用程序框架的组成
- 应用程序框架实战五:应用程序框架的组成
- 应用程序框架实战五:应用程序框架的组成
- 应用程序框架实战五:应用程序框架的组成
- 应用程序框架实战五:应用程序框架的组成
- 应用程序框架实战五:应用程序框架的组成
- 【转】2015必须推荐的Android框架
- PHP入门必须掌握的基本语法
- 学习php,你必须知道的
- PHP入门必须掌握的基本语法
- php输出xml必须header的解决方法
- javascript正则表达式 "\b"问题
- mongodb启动和停止
- [iOS]NSDate计算年龄
- ASP.NET MVC 学习实践
- Handler sendMessage 与 obtainMessage (sendToTarget)比较
- 组成php框架的必须品!
- 走进紫砂老泥料
- Java Web项目重命名
- 实现android proguard中显示行数的方法
- Intent传递对象的两种方式
- ldconfig 命令
- 常见的辅助类
- Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)"
- Linux下crontab命令的详细用法