PHP单文件入口URL路由原理

来源:互联网 发布:简品花果茶淘宝 编辑:程序博客网 时间:2024/06/08 08:36

1 单一入口模式的好处

  • 所有的服务器端文件和目录的起始路径都是基于这个入口文件index.php,路径处理变得简单

2 简单实现代码

直接上代码:

 

<?php/******************************************************* * * URL 路由原理展示代码 * * 浏览器访问地址: http://server/index.php?C=Controler1&M=Method1 * 根据C找到控制器类,再根据M找到方法,然后执行这个方法 *  * ****************************************************/$C = isset($_GET['C'])?$_GET['C']:NULL;$M = isset($_GET['M'])?$_GET['M']:NULL;if($C != NULL && $M != NULL && class_exists($C) && method_exists($C, $M)) {    $cObj = new $C();    $cObj->$M();}else{    echo '找不到控制器或方法';    exit;}// 控制器1class Controler1{    public function Method1()    {           echo 'Controler1, Method1';    }       public function Method2()    {           echo 'Controler1, Method2';    }   }// 控制器2class Controler2{    public function Method1()    {           echo 'Controler2, Method1';    }       public function Method2()    {           echo 'Controler2, Method2';    }}

 

基本思路是浏览器端通过URL字符串提供控制器类的名字和方法的名字,PHP据此找到对应的类和方法。

PHP存在可变变量、可变函数、可变类,变量名、类名、方法名本身也可以作为变量的值在语句中使用,这在C#中只能通过反射解决吧。

原创粉丝点击