APP下载

基于PHP的简单MVC框架的设计与制作

2014-04-29黄政豪

山东工业技术 2014年18期
关键词:数据模型视图实例

黄政豪

(延边大学护理学院,吉林 延吉 133000)

基于PHP的简单MVC框架的设计与制作

黄政豪

(延边大学护理学院,吉林 延吉 133000)

PHP称为超文本预处理器,是比较流行的网页程序设计脚本语言。MVC是比较流行的程序设计规范。本设计讲解如何通过PHP脚本语言设计出简单MVC框架建立网站的方法。

PHP;MVC;网页设计

PHP是目前比较流行的网页程序设计脚本语言。MVC(Model View Controller)是模型、视图、控制器的缩写,是一种程序设计规范,主要目的是分离模型和视图,通过控制器管理所有的查询和显示过程,而且MVC框架编写的程序更易于扩展,方便日后的功能扩展和维护工作。

1 数据模型设计

MVC基本框架需要3个文件,分别是test_model.php、test_ controller.php、test_view.php,分别对应模型、控制器、视图。

首先编写test_model.php,创建test_model类,包含数据库连接和查询过程,本实例因篇幅原因简单用变量代替复杂的数据查询。内容如下:

<?php

//建立数据模型

class test_model{

protected $text1;

protected $text2;

public function __construct(){

$this->my_mvc();}

/*构建赋值过程,如果需要数据库,那么可以在此连接数据库*/

public function my_mvc(){

$this->text1 = "PHP";

$this->text2 = "MVC";}

//在此生成需要显示在视图中的一些数据内容

public function view_data(){

$view_text = "基于" .$this->text1;

$view_text.= "的" .$this->text2 ."框架";

return $view_text;}

}?>

2 控制器设计

其次编写的是控制器test_controller.php部分,控制器部分包含通过实例化test_model并用其中的view_data方法得到的数据,并发送到视图中。

<?php

//建立控制器

class test_controller{

function __construct(){

//加载数据模型

require_once "test_model.php";

$this->view_data();}

//显示控制部分,通过数据模型获取数据并显示到视图中

public function view_data(){

$data_model = new test_model();

/*通过数据模型类的view_data方法制作出来的数据放到变量中*/

$view_data = $data_model->view_data();

//通过加载视图文件,将数据显示到视图中

require_once "test_view.php";}

}?>

3 视图和首页设计

视图是显示数据的部分,只需要使用html编写规范设计网页就可以了。而首页index.php里加载并调用控制器就可以了。

test_view.php部分:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8"></head>

<body>

<!-- 显示所查询到的数据 -->

<?php echo $view_data;?></body></html>

index.php部分:

<?php

//加载控制器

require_once “test_controller.php";

//实例化控制器类

$test = new test_controller();

?>

至此,所有的代码部分全部编写完成,并通过了测试。本文中使用了变量形式的数据,如果需要连接到数据库,那么须在数据模型文件中添加连接数据库的代码,如果建立更多的功能,可以先建立父类,再去建立具体功能子类继承父类,这样就可以更好的减少代码冗余,提高编写和维护效率。

[1]斯克拉(美).PHP经典实例[M].中国电力出版社,2009.

[2]杨晓军.MVC Web开发学习实录[M].清华大学出版社,2011.

[3]李开涌.PHP MVC 开发实战[M].机械工业出版社,2013.

猜你喜欢

数据模型视图实例
基于区块链的微网绿电交易数据模型研究
基于Pro/E 的发射装置设计数据快速转化方法
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
Django 框架中通用类视图的用法
经济全球化对我国劳动收入份额影响机制研究——基于面板数据模型
完形填空Ⅱ
完形填空Ⅰ