PHP简单MVC实现
MVC是什么
MVC是一个啥?
- M model 模型
- v view 视图
- c controller 控制器
一般来说就是控制器喊模型来个数据再把数据给视图渲染了来简单的实现一个MVC 数据就用老师上课讲的了。
Model模型
说了拉这是简单的实现。一般来说模型里面是写了数据库操作类等操作数据库的!<?php
namespace mvc;
// 模型 数据库操作
class Model
{
public function getDate()
{
return [
['id' => 1, 'name' => 'Dell电脑', 'model' => 'xps', 'price' => 15000],
['id' => 2, 'name' => '华为手机', 'model' => 'P30 Pro', 'price' => 4988],
['id' => 3, 'name' => '小爱同学', 'model' => 'AI音箱', 'price' => 299],
];
}
}
View视图
视图你可以理解为就是将数据和标签结合在一起渲染出来,当然重要的话说三遍这个只是例子(特别简单的那种)。<?php
namespace mvc;
// 视图类 渲染页面使用
echo '<style>
table {border-collapse: collapse; border: 1px solid; width: 500px;height: 150px}
caption {font-size: 1.2rem; margin-bottom: 10px;}
tr:first-of-type { background-color:lightblue;}
td,th {border: 1px solid}
td:first-of-type {text-align: center}
</style>';
class View
{
public function fetch($data)
{
$table = '<table>';
$table .= '<caption>我喜爱的3C设备</caption>';
$table .= '<tr><td>ID</td><td>品名</td><td>型号</td><td>价格</td></tr>';
foreach($data as $good)
{
$table .= '<tr>';
$table .= '<td>'.$good['id'].'</td>';
$table .= '<td>'.$good['name'].'</td>';
$table .= '<td>'.$good['model'].'</td>';
$table .= '<td>'.$good['price'].'</td>';
$table .= '</tr>';
}
$table .= '</table>';
//最后将table返回出去
return $table;
}
}
Controller 控制器
控制器啥作用就可以以字面意思来理解!控制模型和视图!namespace mvc;
//加载模型类
require 'Model.php';
//加载视图类
require 'View.php';
//创建控制类
class controller
{
//先创建类成员
public $model;
public $view;
//来一手构造方法传入模型和视图
public function __construct($model,$view)
{
$this->model = $model;
$this->view = $view;
}
public function index()
{
//先从模型中获取数据;
$data=($this->model)->getDate();
//在去视图中渲染
return ($this->view)->fetch($data);
}
}
//先在这里把对象创建一手!
$data = new Model();
$view = new View();
//然后实例化控制器的时候传进去这样子叫注入。
$demo = new controller($data,$view);
echo $demo->index();