当前位置: 首页 > 工具软件 > Simple MVC > 使用案例 >

简单的MVC

雍光远
2023-12-01

一.什么是mvc?
MVC是一种设计模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
二.各自分工?
. Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

通常模型对象负责在数据库中存取数据。

. View(视图)是应用程序中处理数据显示的部分。

通常视图是依据模型数据创建的。

. Controller(控制器)是应用程序中处理用户交互的部分。

通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
在lib文件夹下:
controller.php

<?php
namespace lib;
use lib\Model;
use lib\View;

//控制器类(司令部),接收用户的请求,调用模型类,得到数据类,调用视图类,显示数据
class Controller
{
	function index(){
		$m = new Model();
		$data = $m->getDate();
		$v = new View();
		$v->display($data);
		// $v->display2($data);
	}
}
在这里插入代码片

model.php下

<?php
namespace lib;

//模型类,专门用于处理数据
class Model
{
	function getDate(){
		$arr = array(
			array('no'=>1001,'name'=>'张三','age'=>20),
			array('no'=>1002,'name'=>'李四','age'=>19),
			array('no'=>1003,'name'=>'王五','age'=>21),
			array('no'=>1004,'name'=>'赵六','age'=>20),
			array('no'=>1005,'name'=>'孙琦','age'=>18),
			);
		return $arr;
	}
}
在这里插入代码片

view.php下

<?php
namespace lib;

//视图类,专门负责显示数据
class View
{
	function display($data){
		echo "<table width='300' border='1'>";
		echo "<tr><td>学号</td><td>姓名</td><td>年龄</td></tr>";
		foreach ($data as $key => $value) {
			echo "<tr>";
			echo "<td>{$value['no']}</td>";
			echo "<td>{$value['name']}</td>";
			echo "<td>{$value['age']}</td>";
			echo "</tr>";
		}
		echo "</table>";
	}
	function display2($data){
		echo "<ul>";
		fireach ($data as $key => $value) {
			echo "<li>{$value['name']}</li>";
		}
		echo "</ul>";
	}
}
在这里插入代码片

index.php

<?php
spl_autoload_register('autoloadclass');
function autoloadclass($classname){
	$file = lcfirst($classname) . '.php';
	if(!file_exists($file)){
		die('加载的类文件不存在,'. $file);
	}
	require_once $file;
}

$c = new \lib\Controller();
$c->index();
在这里插入代码片
 类似资料: