初识php MVC


Posted in PHP onSeptember 10, 2014

学习一个框架之前,基本上我们都需要知道什么是mvc,即model-view-control,说白了就是数据控制以及页面的分离实现,mvc就是这样应运而生的,mvc分为了三个层次,而且三个层次各司其职,互不干扰,首先简单介绍下,各个层次,view即是视图,也就是web页面,control即是控制器 向系统发出指令的工具,model 简单说是从数据库中取出数据进行处理。

Mvc的工作流程:第一步 浏览者->调用控制器,对此发出指令

                    第二步 控制器->按指令选取一个合适的模型

                     第三步 模型->按照控制器指令选取相应的数据

                     第四步 控制器->按指令选取相应的视图

                    第五步 视图->把第三步取到的数据按用户想要的样子显示出来

简单地实例开发如下,首先进行第一个控制器的开发 我们在此命名规范如下testController.class.php

<?php
 
 class testController{
 
function show(){
 
}
 
 }
 
?>

         其次书写一个简单地模型如下testModel.class.php

<?php
 
class testModel{
 
function get(){
 
return "hello world";
 
}
 
}
 
?>

         第一个视图文件的创建testView.class.php 是为了呈现数据所存在的

<?php
class testVies{
 
  function display($data){
 
     echo $data;
 
  }
 
 }
 
?>

   

         下面我们要做的就是按照之前所说的五步进行程序的测试:代码如下 测试文件的建立test.php

<?php
 
require_once('testController.class.php');
 
require_once('testModel.class.php');
 
require_once('testView.class.php');
 
$testController = new testController();//调用控制器
 
$testController->show();
 
?>

 

<?php
 
class testController{
 
  function show(){
 
      $testModel = new testModel();//选取合适的模型
 
      $data = $testModel->get();//获取相应的数据
 
      $testView = new testView();//选择相应的视图
 
      $testView->display($data);//展示给用户
 
  }
 
}
 
?>

         而后我们浏览器打开test.php 会显示为hello world,说明我们已经成功了。

PHP 相关文章推荐
PHP中动态HTML的输出技术
Oct 09 PHP
php在线打包程序源码
Jul 27 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
浅析PHP的静态成员函数效率更高的原因
Jun 13 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
php json转换成数组形式代码分享
Nov 10 PHP
PHP间隔一段时间执行代码的方法
Dec 02 PHP
PHP实现远程下载文件到本地
May 17 PHP
微信公众号模板消息群发php代码示例
Dec 29 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
PHP中phar包的使用教程
Jun 14 PHP
叫你如何修改Nginx与PHP的文件上传大小限制
Sep 10 #PHP
QQ互联一键登录审核不通过的解决方案
Sep 10 #PHP
PHP curl 抓取AJAX异步内容示例
Sep 09 #PHP
php通过隐藏表单控件获取到前两个页面的url
Sep 09 #PHP
PHP利用MySQL保存session的实现思路及示例代码
Sep 09 #PHP
字符串长度函数strlen和mb_strlen的区别示例介绍
Sep 09 #PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 #PHP
You might like
令PHP初学者头疼十四条问题大总结
2008/11/12 PHP
修改PHP的memory_limit限制的方法分享
2012/02/21 PHP
PHP对MongoDB[NoSQL]数据库的操作
2013/03/01 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
PHP的Socket通信之UDP通信实例
2015/07/02 PHP
Zend Framework路由器用法实例详解
2016/12/11 PHP
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
IE下双击checkbox反应延迟问题的解决方法
2014/03/27 Javascript
微信小程序 动画的简单实例
2017/10/12 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
Three.js开发实现3D地图的实践过程总结
2017/11/20 Javascript
使用Vue自定义指令实现Select组件
2018/05/24 Javascript
js如何找出字符串中的最长回文串
2018/06/04 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
微信小程序发送短信验证码完整实例
2019/01/07 Javascript
layer弹出层取消遮罩的方法
2019/09/25 Javascript
微信小程序保存图片到相册权限设置
2020/04/09 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
[02:30]DOTA2英雄基础教程 暗影恶魔
2013/12/17 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
解决python xlrd无法读取excel文件的问题
2018/12/25 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
使用Python将图片转正方形的两种方法实例代码详解
2020/04/29 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
Python如何获取文件路径/目录
2020/09/22 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
乌克兰时尚鞋子和衣服购物网站:Born2be
2018/05/24 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
客房领班岗位职责
2015/02/11 职场文书
大脑的记忆过程在做数据压缩,不同图形也有共同的记忆格式
2022/04/29 数码科技