PHP原生实现简易的MVC框架
Posted artsmp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP原生实现简易的MVC框架相关的知识,希望对你有一定的参考价值。
目录结构:
—|controller
—|Home.php
—|model
—|view
—|welcome.php
—|index.php
首页
index.php
通过获得地址栏中的路由名称获得对应控制器以及控制的方法名,通过require引入到index.php首页中。通过引入的对应控制器的类实例化一个对象,对象调用路由地址映射的方法,实现对视图层的调用显示。
实现具体代码:
-
/index.php
首页代码实现:
<?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
控制器代码实现:
<?php
class Home{
?
public function index(){
echo ‘hello MVC‘;
}
?
public function welcome(){
require_once __DIR__.‘/../view/welcome.php‘;
}
}
-
/view/welcome.php
视图层代码实现:
结束语:
基本上大部分框架都是基于MVC架构实现的,懂得基本的MVC框架设计的原理,有助于我们学习框架,以及对良好的框架的应用更加得心应手,并能很好地理解其中的设计思想,慢慢演化成为一个有想法的Coder。
以上是关于PHP原生实现简易的MVC框架的主要内容,如果未能解决你的问题,请参考以下文章