关于网上大多MVC的简介我就不再多说,就是Model(模型)View(视图) C(控制器)这里作为一个刚入门PHP MVC框架的我,这里我搭建一个最简易的mvc项目,从而理解MVC

1在apache服务器虾搭建项目文件体系

MyMVC

  Model

    model.php

  View

    index.php

  Control

    indexControl.php

index.php

在我们一般理解的路径中我们需要访问一个页面,例如A.php需要输入类似于localhost://demo/project/A.php这样的目录结构,访问B.php再输入localhost://demo/project/B.php

但是在MVC模式中,我们采用单一文件入口,即都从项目文件最外层的index.php开始,通过URL后带不同参数提交不同控制器,控制器再访问不同页面,下面通过一个案例来理解

1设计一个简易的PHP MVC模式,用户通过在URL种输入地址以及ID参数,即可查询该ID对应的学生姓名

学生数组为

ID

Name

01

Tom

02

Jack

03

Lisa

1搭建项目文件体系,文件体系和上面一样

2搭建模型层model.php,一般模型层负责处理数据,定义数据结构和属性,这里我们定义一个学生数组,并且定义一个访问数组方法,这个类似于javaweb中的javabean

<?php
class Model{
public $data=array(
'01'=>'Tom',
'02'=>'Jack',
'03'=>'Lisa',
);
public function getid($key){
return $this->data[$key];
}
}

3书写视图层View中index.php,index.php负责输出显示数据,注意我们需要通过不同ID来显示不同Name,所以index.php中定义的display()方法中应该接受一个动态的$output,

<?php
class Index{
public function display($output){
echo $output;
}
}

4配置单一入口文件index.php

<?php
require 'cont/control.php';//引入控制器文件
$ID=$_GET['ID'];
$show=new Control();
$show->showcontrol($ID);//调用控制器方法

5控制器文件control.php

<?php
class Control{
function showcontrol($ID){
require 'view/index.php';
require 'model/model.php';
$view=new Index();
$model=new Model();
$data=$model->getid($ID);
$view->display($data);

}
}

至此一个简单的PHP MVC项目搭建完成了!

在浏览器中输入http://localhost/demo/simpleMVC/index.php?ID=02即可!取得名字jack

实现最简单PHP MVC实例的更多相关文章

  1. 一个简单的MVC实例及故障排除

    Controller: public ActionResult Index() { string setting = "ApplicationServices"; var conn ...

  2. 【基础】一个简单的MVC实例及故障排除

    Controller: public ActionResult Index() { string setting = "ApplicationServices"; var conn ...

  3. 简单的spring mvc实例

    简单的springmvc实例 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...

  4. 自己动手写一个简单的MVC框架(第一版)

    一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...

  5. 审核流(3)低调奢华,简单不凡,实例演示-SNF.WorkFlow--SNF快速开发平台3.1

    下面我们就从什么都没有,结合审核流进行演示实例.从无到有如何快速完美的实现,然而如此简单.低调而奢华,简单而不凡. 从只有数据表通过SNF.CodeGenerator代码生成器快速生成单据并与审核流进 ...

  6. [.NET] 一步步打造一个简单的 MVC 网站 - BooksStore(一)

    一步步打造一个简单的 MVC 网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 简介 主 ...

  7. [.Net Core] 简单使用 Mvc 内置的 Ioc(续)

    简单使用 Mvc 内置的 Ioc(续) 本文基于 .NET Core 2.0. 上一章<[.Net Core] 简单使用 Mvc 内置的 Ioc>已经对日常 Mvc 中的 Ioc 的简单用 ...

  8. [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(一)

    一步步打造一个简单的 MVC 电商网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...

  9. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)

    使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...

随机推荐

  1. 在android中,如何去掉webview读取网页后点击网页上的按钮出现的方框

    参考:http://blog.sina.com.cn/s/blog_64056edc0100xt3l.html <style type="text/css"> .bor ...

  2. HTML标签元素分类(HTML基础知识)

    HTML标签元素分类 一.按照块级元素还是行内元素分类 块级元素(block-level)和行内元素(inline-level,也叫作"内联"元素). a.块级元素(独占一行) 块 ...

  3. Linux下Hadoop2.7.1集群环境的搭建(超详细版)

                                本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 一.基础环境 ...

  4. 谷歌广告Admob在cocos2dx上通过回调实现底部Banner

    首先说明我的开发平台,以免由于平台问题造成不必要的误解: cocos2dx-3.4 ndk-r9d eclipse Admob是谷歌官方广告,已经集成在google_play_service_lib包 ...

  5. 【Android Widget】1.TextView

    1.创建可被点击的TextView 1.1 在xml中创建可被点击的TextView android:autoLink 是否将符合指定格式的文本转换成可单击的超链接. 属性值可以是如下几个属性值的一个 ...

  6. 利用PHPExcel读取Excel的数据和导出数据到Excel

    PHPExcel是一个PHP类库,用来帮助我们简单.高效实现从Excel读取Excel的数据和导出数据到Excel.也是我们日常开发中,经常会遇到的使用场景.比如有个客户信息表,要批量导出发给同事,我 ...

  7. zabbix_server表面启动成功,但是没有进程

    [root@iZ25m1box8cZ zabbix]# /etc/init.d/zabbix_server start Starting zabbix_server (via systemctl):  ...

  8. hdu698 Just a Hook 线段树-成段更新

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1698 很简单的一个线段树的题目,每次更新采用lazy思想,这里我采用了增加一个变量z,z不等于0时其绝 ...

  9. sublime text 3 3126 注册码+中文包

    sublime text 3 3126 注册码+中文包   Sublime Text 3 3126 注册码,网上找的.我用的最后一个. 复制一个,打开 Sublime Text 3, help -- ...

  10. 谈谈对Spring IOC的理解(转载)

    学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和大家 ...