php单入口框架,PHP单一文件入口框架简析

1460000007486048

PHP单一文件入口框架

单一文件入口应用,所有请求都是通过index.php接收并转发到功能代码中去,因此一些事情变得简单多了,如数据安全性检查,访问统计等。

当前比较流行的一些php开发框架如Laravel、ThinkPHP等都是采用的单一入口模式。

下面咱们来实现一个简单版的单一文件入口框架,包括MVC架构、URL路由的实现。

MVC架构

1460000007486049?w=500&h=255

MVC架构

URL路由原理

基本思路是浏览器端通过URL字符串提供控制器类的名字和方法的名字,PHP据此找到对应的类和方法。 <?php /** * PHP单一文件框架设计简析 * 1、MVC架构实现 * 2、URL路由原理 */ //URL路由原理 /** * 应用入口,路由作用 * http://localhost/index.php?m=Index&a=List */ class App { public $c; public $a; public function run() { $c = isset($_GET['c']) ? $_GET['c'] : "Index"; $a = isset($_GET['a']) ? $_GET['a'] : "Index"; $c .= "Controller"; if( $c && class_exists($c) && method_exists($c, $a) ) { $o = new $c(); $o->$a(); }else{ echo "error"; exit(); } } } //MVC架构 /** * 模型层 * 获取应用数据作用 */ class Model { //link db、get data } /** * 视图类 * 编译、缓存及显示模板 */ class View { public function render($tpl) { echo "Hi, ".$tpl; } } /** * 控制器 * 所有功能控制器继承该类 */ class Controller { public $view; public $model; public function display($tpl = "") { echo $this->view->render($tpl); exit(); } } //具体功能开发 class IndexController extends Controller { /** * 网站首页 */ public function Index() { $this->display("Index"); } /** * 网站列表 */ public function List() { $this->display("List"); } } //单一文件入口 $app = new App(); $app->run(); ?>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值