欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

根据课堂案例,练习一下mvc的实现原理--1031

程序员文章站 2022-03-11 14:13:06
...

index.php

实例

<?php
$server = $_SERVER;
//$request_uri=$_SERVER['REQUEST_URI']; // /index2.php/home/index

//echo '<pre>';
//print_r($server);
//此时我们认为我们要访问的是控制器中的方法
$path_info = $_SERVER['PATH_INFO'];
//去掉$path_info中首位的/
$path = ltrim($path_info,'/');
//以/为分隔将$path分割为数组
$controller_method = explode('/', $path);
//将首字母大写
$controller_method[0]=ucfirst($controller_method[0]);
//引用控制器中的脚本
require_once  __DIR__.'/controller/'.$controller_method[0].'.php';

$controller = $controller_method[0];///Home
$method = $controller_method[1];//index
$obj = new $controller();
include __DIR__.'/model/model.php';

$res = $obj->$method($c,$d);
include __DIR__.'/view/v.php';

运行实例 »

点击 "运行实例" 按钮查看在线实例

控制器controller。Home.php

实例

<?php
class Home{
	
	function index($a,$b){
    return  $a+$b;
	}

}

运行实例 »

点击 "运行实例" 按钮查看在线实例

视图view。v.php

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>view</title>
</head>
<body>
<h2 style="color: red"><?php echo $res;?></h2>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

模型model。model.php

实例

<?php
$c = 111111111;
$d = 222222222;
?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

根据课堂案例,练习一下mvc的实现原理--1031

一开始写出来了但是没有model,然后我就在想如何加进去一个model,然后我在这里就决定把model当做从数据库中引用的数据,然后传值运算,渲染

这次写的MVC和前几次相比,主要差别还是在index.php上。进行了路由解析,然后拿取PATH_INFO。文件名首字母大写。拼接Home.php这个文件名。