MVC模式
它是来自后台语言的一种软件设计架构
不属于23种常见设计模式
最早由 angular.js 带入前端
angular(数据劫持+发布订阅模式) != angular.js(脏检查)
2+ / 1+
Model View Controller
模型 / 视图 / 控制器
web应用中的工作流程
Model 模型 数据模型(提供数据)
View 视图 提供和用户交互的界面(html)
Controller 控制器 遥控器 发送指令
业务逻辑:
1. 浏览器 调用 控制器 对它发送指令
2. 控制器 接收到指令 选择合适的模型(数据)
3. 模型根据控制器的指令 获取数据
4. 数据交给控制器 由控制器将数据交给视图
5. 视图用合适的方式呈现数据
在前端开发中 有多个MVC的衍生版
MVP
MVVM(广泛使用 例:angular , vue) M V VM
MV*/MVX
详细见阮一峰大佬的日志:http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html
简单的MVC模型参考
View.php
<?php
class domeView{//View显示数据
function display($data){//函数 用来数据的显示
echo "<h1>$data</h1>";
}
}
?>
Model.php
<?php
class demoModel{//Model 数据模型
function getData(){//获取数据
return "hello world";
}
}
?>
Controller.php
<?php
class demoController{//Controller 获取数据并将数据呈现在View上
function show(){
$model=new demoModel();//新建一个实例对象model
$data=$model->getData();//获取到数据,进行保存
$view=new domeView();//新建一个实例对象view
$view->display($data);//数据给到视图
}
}
?>
Index.php
<?php
//引入3个文件
include('./Model.php');
include('./View.php');
include('./Controller.php');
//用户访问的是index
$controller=new demoController();
$controller->show();
?>