初识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 5.0 Pear安装方法
Dec 06 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
Aug 12 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
php反射应用示例
Feb 25 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
php基于str_pad实现卡号不足位数自动补0的方法
Nov 12 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
PHP递归遍历多维数组实现无限分类的方法
May 06 PHP
php关闭warning问题的解决方法
May 17 PHP
php使用gd2绘制基本图形示例(直线、圆、正方形)
Feb 15 PHP
万能的php分页类
Jul 06 PHP
laravel5使用freetds连接sql server的方法
Dec 07 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的call_user_func传reference引发的思考
2010/07/23 PHP
浅谈PHP eval()函数定义和用法
2016/06/21 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
IE的有条件注释判定IE版本详解(附实例代码)
2012/01/04 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
jQuery插件slides实现无缝轮播图特效
2015/04/17 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
js常用DOM方法详解
2017/02/04 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
element-ui使用导航栏跳转路由的用法详解
2018/08/22 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
详解JavaScript 为什么要有 Symbol 类型?
2019/04/03 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Odoo中如何生成唯一不重复的序列号详解
2018/02/10 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
解决Python 函数声明先后顺序出现的问题
2020/09/02 Python
纯CSS实现聊天框小尖角、气泡效果
2014/04/04 HTML / CSS
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
DOUGLAS波兰:在线销售香水和化妆品
2020/07/05 全球购物
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
基层党员对照检查材料
2014/09/24 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
同事打架检讨书
2015/05/06 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
Django实现在线无水印抖音视频下载(附源码及地址)
2021/05/06 Python
JS数组去重详情
2021/11/07 Javascript
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL