php MVC原理
一直用php的mvc模式,但是一直没深入研究其原理性的东西,今天把最基本的mvc原理模型总结如下:
1、url访问方式 http://127.0.0.1:8080/ceshi.com/index.php?act=user&op=user
2、建立如下的目录结构

3、index.php入口文件
//路由设置
$act = $_GET['act'];
$class = $act.'Control';//获取类名
$op = $_GET['op'];//获取方法 //自动加载类
function __autoload($cla){
if(substr($cla,-7)=="Control"){//control
$cla = str_replace("Control",'',$cla);
require 'control/'.$cla.'.php';
}else{//model
require 'model/'.$cla.'.php';
}
} require('lib/func.php');//公用方法 $control = new $class();
$control->$op();
4、公共方法lib/func.php
function Model($model = null){
//$file_name = 'model/'.$model.'Model.php';
$class_name = $model.'Model';
//require($file_name);
return new $class_name();//类名
}
/**
* 格式化打印数据
**/
function p($v,$k=false){
echo "<pre>";print_r($v);echo"</pre>";
$k && exit();
}
5、Model基类model/Model.php
class Model{
public $mysqli = null;
public function __construct(){
$this->mysqli = new MySQLi("localhost","root","","test");
}
}
6、Model子类(常用类)model/test.model.php
class testModel extends Model{
public function dataList(){
$sql = "select * from article";
$encode = $this->mysqli->query("set names gb2312");
$datalist = $this->mysqli->query($sql);
$listarr = array();
while($row = $datalist->fetch_assoc()){
$listarr[] = $row;
}
return $listarr;
}
}
7、control control/user.php
class userControl{
public function user(){
//echo 'user';
$test_model = Model('test');
$list = $test_model->dataList();
include('view/user_list.php');//此处用模板引擎处理
p($list);
}
}
8、视图文件 view/user.list.php
$arr = array('a',1,'b');
foreach($arr as $k=>$v){
echo $v.'<br />';
}
9、最终结果

php MVC原理的更多相关文章
- ASP.NET MVC原理
仅此一文让你明白ASP.NET MVC原理 ASP.NET MVC由以下两个核心组成部分构成: 一个名为UrlRoutingModule的自定义HttpModule,用来解析Controller与 ...
- spring MVC原理
spring MVC原理 Spring MVC工作流程图 图一 图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt D ...
- Spring框架和MVC原理
Spring框架和MVC原理 目录 Spring框架 SpringMVC工作原理 参考资料 回到顶部 Spring框架 Spring当前框架有20个jar包,大致可以分为6大模块: Core Cont ...
- Spring MVC 原理探秘 - 容器的创建过程
1.简介 在上一篇文章中,我向大家介绍了 Spring MVC 是如何处理 HTTP 请求的.Spring MVC 可对外提供服务时,说明其已经处于了就绪状态.再次之前,Spring MVC 需要进行 ...
- Spring MVC 原理探秘 - 一个请求的旅行过程
1.简介 在前面的文章中,我较为详细的分析了 Spring IOC 和 AOP 部分的源码,并写成了文章.为了让我的 Spring 源码分析系列文章更为丰富一些,所以从本篇文章开始,我将来向大家介绍一 ...
- ASP.NET MVC学习(五)之MVC原理解析
ASP.NET MVC 请求生命周期 生命周期步骤概览 当我们对ASP.NET MVC网站发出一个请求的时候,会发生5个主要步骤: 步骤1:创建RouteTable 当ASP.NET应用程序第一次启动 ...
- Spring学习 6- Spring MVC (Spring MVC原理及配置详解)
百度的面试官问:Web容器,Servlet容器,SpringMVC容器的区别: 我还写了个文章,说明web容器与servlet容器的联系,参考:servlet单实例多线程模式 这个文章有web容器与s ...
- Spring MVC原理及配置
Spring MVC原理及配置 1. Spring MVC概述 Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得 ...
- Spring MVC工作原理及源码解析(一) MVC原理介绍、与IOC容器整合原理
MVC原理介绍 Spring MVC原理图 上图是Spring MVC工作原理图(图片来自网上搜索),根据上图,我们可以得知Spring MVC的工作流程如下: 1.用户(客户端,即浏览器)发送请求至 ...
随机推荐
- python 之 实现su 到root账号
简单记录一下如何通过python代码在linux系统下实现自动su - 切换到root账号, 使用到的模块:paramiko 使用到的方法:invoke_shell 功能:在SSH server端创 ...
- Endless Pallet(min-max容斥)
地址:传送门 分析: 设$x_i$表示第i个点被染成黑色的时间,所求即为$E(max \left \{x_i \right \})$ 因为$E(X)=\sum_{k=1}^{\infty}i \ti ...
- (入门SpringBoot)SpringBoot配置全局异常(五)
Spring的全局异常,用于捕获程序员没有捕获的异常.具体请看下面代码: 1.ControllerAdvice拦截异常,统一处理.通过Spring的AOP来管理. @ControllerAdvicep ...
- 使用一个数组存储一个英文句子"java is an object oriented programing language"
class fun { public static void main(String[] args) { String str="java is an object oriented pro ...
- 第四章——SQLServer2008-2012资源及性能监控(1)专家
http://blog.csdn.net/dba_huangzj/article/details/8614817
- GeoServer自动发布地图服务
1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...
- 快讯 | FireEye在GitHub上开源密码破解工具GoCrack
近日,FireEye 开源了一款密码破解工具 GoCrack,可在多机器上部署破解任务. GoCrack 是由 FireEye’s Innovation and Custom Engineering ...
- CAM350 10.5移动和叠层的用法
1.快捷键 EC复制 IMO测量最近距离 UZ放大,缩小尺寸 UC拷 ...
- USB通讯协议
首先要了解USB枚举过程(自己百度) https://blog.csdn.net/MyArrow/article/details/8270029 USB通讯协议 0. 基本概念 一个[传输](控制.批 ...
- libraries_v140_x64_py35_1.0.1.tar.bz2 libraries_v120_x64_py27_1.1.0.tar 下载链接以及百度云下载链接
下载链接 wget -c https://github.com/willyd/caffe-builder/releases/download/v1.0.1/libraries_v140_x64_p ...