一.什么是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();
在这里插入代码片