实现最简单PHP MVC实例
关于网上大多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实例的更多相关文章
- 一个简单的MVC实例及故障排除
Controller: public ActionResult Index() { string setting = "ApplicationServices"; var conn ...
- 【基础】一个简单的MVC实例及故障排除
Controller: public ActionResult Index() { string setting = "ApplicationServices"; var conn ...
- 简单的spring mvc实例
简单的springmvc实例 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&qu ...
- 自己动手写一个简单的MVC框架(第一版)
一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...
- 审核流(3)低调奢华,简单不凡,实例演示-SNF.WorkFlow--SNF快速开发平台3.1
下面我们就从什么都没有,结合审核流进行演示实例.从无到有如何快速完美的实现,然而如此简单.低调而奢华,简单而不凡. 从只有数据表通过SNF.CodeGenerator代码生成器快速生成单据并与审核流进 ...
- [.NET] 一步步打造一个简单的 MVC 网站 - BooksStore(一)
一步步打造一个简单的 MVC 网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore 简介 主 ...
- [.Net Core] 简单使用 Mvc 内置的 Ioc(续)
简单使用 Mvc 内置的 Ioc(续) 本文基于 .NET Core 2.0. 上一章<[.Net Core] 简单使用 Mvc 内置的 Ioc>已经对日常 Mvc 中的 Ioc 的简单用 ...
- [.NET] 一步步打造一个简单的 MVC 电商网站 - BooksStore(一)
一步步打造一个简单的 MVC 电商网站 - BooksStore(一) 本系列的 GitHub地址:https://github.com/liqingwen2015/Wen.BooksStore &l ...
- 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...
随机推荐
- 推荐免费的svn空间
可能大部分人跟我一样办公和其他环境的代码同步选择用github,但github免费用户的代码是公开的.如果想做商业项目,用免费的github账号就不合适了,这里推荐的免费svn是个不错的选择. 1.h ...
- 源于《Unity官方实例教程 “Space Shooter”》思路分析及相应扩展
教程来源于:Unity官方实例教程 Space Shooter(一)-(五) http://www.jianshu.com/p/8cc3a2109d3b 一.经验总结 教程中步骤清晰,并且 ...
- python中从文件中读取数据
# average5.py def main(): fileName = input("What file are the numbers in?") infile = open( ...
- JS第二弹:用Jquery组装html标签,输出到页面
用Ajax从服务端获取数据,遍历到表格中(其实将表格替换了),中间发现不能为新增的元素绑定事件,原来是没有将其作为JQ对象
- Java Map List 的使用
项目中有一个需求是将年月分两行显示: java后台代码 创建一个demo,使用Map List 拆分年月: package demo; import java.util.ArrayList;impor ...
- 用ajax判断用户是否已存在?----2017-05-12
首先在用ajax之前,先说一下JSON: JSON:javascript object notation js对象标记 对于json,我们只需要知道如何定义json?如何输出?怎么遍历? 1.定义 ...
- 通过js给网页加上水印背景
有些后端管理系统,因为业务逻辑的需要,需要加上水印,下面就是水印方法. function watermark(settings) { debugger; //默认设置 var defaultSetti ...
- SQL Server中INNER JOIN与子查询IN的性能测试
这个月碰到几个人问我关于"SQL SERVER中INNER JOIN 与 IN两种写法的性能孰优孰劣?"这个问题.其实这个概括起来就是SQL Server中INNER JOIN与子 ...
- 写给Android App开发人员看的Android底层知识(4)
(八)App内部的页面跳转 在介绍完App的启动流程后,我们发现,其实就是启动一个App的首页. 接下来我们看App内部页面的跳转. 从ActivityA跳转到ActivityB,其实可以把Activ ...
- [原创]MongoDB_Sharding
Mongo Sharding:本示例搭建了三个副本集作为三个分片的sharding集群,其中master,slave,factershi三台同网段的内网主机.前期规划和原理分析省略,可根据具体配置推导 ...