php原生移植入框架,PHP原生实现简易的MVC框架

目录结构:

—|controller

—|Home.php

—|model

—|view

—|welcome.php

—|index.php

基本原理:

首页 index.php 通过获得地址栏中的路由名称获得对应控制器以及控制的方法名,通过require引入到index.php首页中。通过引入的对应控制器的类实例化一个对象,对象调用路由地址映射的方法,实现对视图层的调用显示。

实现具体代码:

/index.php 首页代码实现:

# 获取当前的服务地址

$server = $_SERVER;

#获取到当前访问的主机名之后的URI

$path = $server['REQUEST_URI'];  # /test/index.php/home/welcome

$path = ltrim($path, '/'); # 去掉获得的路径前的 /

$controller_method = explode('/', $path); # 根据 / 获得分割数组来取得控制器名字和对应方法

$controller = ucfirst($controller_method[2]); # 将控制器名字的第一个更换为大写

$method = $controller_method[3]; # 对应的方法名

require_once __DIR__.'/controller/'.$controller.'.php'; # 定位到当前使用的控制器

$obj = new $controller(); //实例化控制器对象

$obj->$method(); //控制器对象调用目标方法

exit($obj);

/controller/Home.php 控制器代码实现:

class Home{

public function index(){

echo 'hello MVC';

}

public function welcome(){

require_once __DIR__.'/../view/welcome.php';

}

}

/view/welcome.php 视图层代码实现:

welcome
welcome to hefei

结束语:

基本上大部分框架都是基于MVC架构实现的,懂得基本的MVC框架设计的原理,有助于我们学习框架,以及对良好的框架的应用更加得心应手,并能很好地理解其中的设计思想,慢慢演化成为一个有想法的Coder。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值