PHP的MVC框架简单实现
2016-06-07 22:42
651 查看
PHP中的MVC
MVC[1]在软件工程中是一种软件的架构。从php的角度来讲MVC有一些不同。
Model(模型),程序应用功能的实现,程序的逻辑的实现。在PHP中负责数据管理,数据生成。
View(视图),图形界面逻辑。在PHP中负责输出,处理如何调用模板、需要的资源文件。
Controller(控制器),负责转发请求,对请求处理。在PHP中根据请求决定调用的视图及使用的数据。
为什么使用MVC
MVC的主要作用是为了将代码分层、分类。
MVC的主要目的是为了解决Web开发中分离开发与设计工作,使其工作相对独立。
在这样的过程中还发现了其他的一些优点,网站的目录结构更加清晰,网站更易维护与扩展,可以实现模块的复用。
MVC目录结构
/*
├─www # 网站根目录
│ ├─controller # 控制器目录
│ │ ├─democontroller.php # demo控制器
│ ├─model # 模型目录
│ │ ├─model.php # model模型
│ ├─view # 视图目录
│ │ ├─index.php # index视图
│ ├─index.php # 入口文件
*/
controller/democontroller.php
model/model.php
调用显示model中的对应数据:
1. http://127.0.0.1/index.php?c=demo&a=index&p=title
2.
http://127.0.0.1/index.php?c=demo&a=index&p=welcome
MVC[1]在软件工程中是一种软件的架构。从php的角度来讲MVC有一些不同。
Model(模型),程序应用功能的实现,程序的逻辑的实现。在PHP中负责数据管理,数据生成。
View(视图),图形界面逻辑。在PHP中负责输出,处理如何调用模板、需要的资源文件。
Controller(控制器),负责转发请求,对请求处理。在PHP中根据请求决定调用的视图及使用的数据。
为什么使用MVC
MVC的主要作用是为了将代码分层、分类。
MVC的主要目的是为了解决Web开发中分离开发与设计工作,使其工作相对独立。
在这样的过程中还发现了其他的一些优点,网站的目录结构更加清晰,网站更易维护与扩展,可以实现模块的复用。
MVC目录结构
/*
├─www # 网站根目录
│ ├─controller # 控制器目录
│ │ ├─democontroller.php # demo控制器
│ ├─model # 模型目录
│ │ ├─model.php # model模型
│ ├─view # 视图目录
│ │ ├─index.php # index视图
│ ├─index.php # 入口文件
*/
controller/democontroller.php
<?php class DemoController{ function index($param){ require('view/index.php'); require('model/model.php'); $model = new Model(); $view = new Index(); $data = $model->getData($param); $view->display($data); } }
model/model.php
<?php class Model { private $data = array( 'title' => 'mvc test', 'welcome' => 'Welcome MVC', ); public function getData($key) { return $this->data[$key]; } }view/index.php
<?php class Index { public function display($output) { echo $output; } }入口文件index.php
<?php $c_str = $_GET['c']; $c_name = $c_str.'controller'; $c_path = 'controller/'.$c_name.'.php'; // c=demo => controller/democontroller.php $method = $_GET['a']; //a=index $param = $_GET['p']; //p=welcome require($c_path); $controller = new $c_name; //democontroller.php $controller->$method($param); //index("welcome");
调用显示model中的对应数据:
1. http://127.0.0.1/index.php?c=demo&a=index&p=title
2.
http://127.0.0.1/index.php?c=demo&a=index&p=welcome
相关文章推荐
- thinkphp 查询
- php中根据一组数组输出第一个数是最大的,第二个数是最小的 ,第三个数是第二大,第四个数是第二小...以此类推。。。。
- php数组概述
- laravel随记(3)
- php 面向对象要点汇总
- php 克隆和引用类
- php 抽象类、接口和构析方法
- php soap nowsdl简单使用
- php 汉字转拼音
- 本人一直搞不懂的这两个类InputStream和OutputStream
- PHP多进程实例
- 【View工作原理】ViewRoot、DecorView、MeasureSpec和LayoutParams
- PHP2016/6/7学习笔记-first day
- PROFTPD
- 入门学习PHP之变量_1
- php5.6安装PDO_MYSQL扩展
- lamp环境搭建后在浏览器下无法显示info.php信息
- thinkphp下批量修改某个字段
- 邮箱验证函数
- file.getPath() getAbsolutePath() getCanonicalPath()区别