php程序入口,PHP实现单一入口文件

基本思路

1.入口文件(通过.htaccess文件中的rewrite功能把所有请求都转向这个文件)

2.通过URL传参 访问对应类的名字及其方法

1.1.htaccess 文件

Options -MultiViews

RewriteEngine On

# Redirect Trailing Slashes...

RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^ index.php [L]

2.1.动态初始化类名方法

//URL路由原理

/**

* 路由作用

* 获取url中的c和a变量,执行c类对应的方法a,实现不同的路由

*/

class App {

public $c;

public $a;

public function run()

{

$c = isset($_GET['c']) ? $_GET['c'] : "Index"; //url提供类名字的变量名

$a = isset($_GET['a']) ? $_GET['a'] : "Index"; //url提供方法名字的变量名

$c .= "Controller";

if( class_exists($c) && method_exists($c, $a) ) {

$o = new $c();

$o->$a();

}else{

echo "error";

exit();

}

}

}

2.2

$c = $_GET['c']; //获取controller

$a = $_GET['a']; //获取action

require_once AROOT.'controller/'.$c.'/'.$a.'.class.php'; //载入文件/controller/user/login.class.php

$o = new $c.'Controller'; // 新建对象userController

call_user_func(array($o,$a)); //调用对象$o(userController)里的方法$a(login)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值