手机版

PHP url的pathinfo模式加载不同控制器的简单实现

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

使用自动加载和解析全球资源定位器(统一资源定位符)的参数,实现调用到不同的控制器,实现了pathinfo模式和普通的全球资源定位器(统一资源定位符)模式

文件结构:

| -控制器| -索引|-Index.php

|-应用程序

Application.php

?phpclass Application { public static function main(){ header(' content-type : text/html;charset=utf-8 ');self :寄存器();self :路由器();}公共静态函数寄存器(){ spl _ autoload _ register(' self :3360 load class ');}公共静态函数load class($ class){ $ class=str _ replace(' \ \ ','/',$ class);$class=' ./'.$ class . PHP ';require _ once $ class}公共静态函数router(){ if(isset($ _ SERVER[' PATH _ INFO ']){ $ PATH INFO=array _ filter(explode('/',$ _ SERVER[' PATH _ INFO ']));for($ I=1;$ I=计数($路径信息);$i ){ $key=isset($pathinfo[$i])?$路径信息[$ I]: " ";$ value=isset($ path info[$ I ^ 1])?$路径信息[$ I 1]: " ";switch($ I){ case 1: $ _ GET[' m ']=ucfirst($ key);打破;case 2: $ _ GET[' c ']=UC first($ key);打破;case : $ _ GET[' a ']=$ key;打破;默认值: if($ i3){ if($ I % 2==0){ $ _ GET[$ key]=$ value;} } break} } $_GET['m']=!空($_GET['m'])?ucfirst($ _ GET[' m ']):“Index”;$_GET['c']=!空($_GET['c'])?UC first($ _ GET[' c ']):“Index”;$_GET['a']=!空($_GET['a'])?$ _ GET[' a ']:“索引”;$ class=' \ \ Controller \ \ { $ _ GET[' m ']} \ \ { $ _ GET[' c ']} ';$ controller=新的$类;$ controller-$ _ GET[' a ']();} }应用程序: main();控制器\索引\索引

?phpnamespace控制器\索引;使用服务\用户;类索引{ public function _ _ construct(){ echo '构造方法br/';}公共函数索引(){新用户();print _ r($ _ GET);}公共函数log in(){ echo ' log in()';}}效果:

以上这篇服务器端编程语言(Professional Hypertext Preprocessor的缩写)网址的pathinfo模式加载不同控制器的简单实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

版权声明:PHP url的pathinfo模式加载不同控制器的简单实现是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。