MVC架構實現簡易留言管理系統

0x01 總體設計

留言模塊主要包括以下幾個子模塊:

  • 模型模塊(Model):模型類中封裝好用戶操作數據庫的各種方法,供控制器調用。
  • 視圖模塊(View):Web視圖頁面收集用戶留言。
  • 控制器模塊(Controller):控制器處理Web視圖頁面收集的數據。

0x02 詳細設計

(1)查看留言記錄
  • 在控制器的selete()方法中,調用模型類中封裝的getSelete()方法查詢數據表中所有的數據,並顯示到前端。
  • 在Web頁面中循環遍歷返回的索引數組,即可顯示留言列表。
(2)添加留言記錄
  • 在前端頁面的form表單中獲取用戶輸入的數據。
  • 在控制器的add()方法中,調用模型類中封裝的getInsert()方法向數據表中添加數據。
  • 前端頁面跳轉到留言列表中。
(3)修改留言記錄
  • 當要修改數據時,先查找要修改的內容,把查找到的數據放到表單中。
  • 在控制器的update()方法中,調用模型類中封裝的getUpdate()方法對留言數據進行修改。
(4)刪除留言記錄
  • 在Web頁面點擊“刪除”,進入控制器的delete()方法。
  • 在控制器的delete()方法中,調用模型類中封裝的getDelete()方法,刪除指定的留言數據。
  • 刪除成功後頁面跳轉到留言列表頁。

0x03 MVC目錄結構

MVC
|-- controller   //控制器目錄
|-- model        //模型目錄
|-- view         //視圖目錄
|-- core         //核心目錄
||--- MVCFunction.class.php  //核心文件
||--- DB.class.php           //操作數據庫核心文件
|-- index.php    //入口文件
|-- conf.php     //連接數據庫配置文件

0x04 數據表設計

創建數據表messages的sql代碼如下:

CREATE TABLE `messages`(
	`id` INT(11) NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(30) NOT NULL DEFAULT '',
	`email` VARCHAR(35) NOT NULL DEFAULT '',
	`content` VARCHAR(200) NOT NULL DEFAULT '',
	`message_time` DATETIME DEFAULT NULL,
	PRIMARY KEY(`id`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;

結構如下:
在這裏插入圖片描述

0x05 MVC配置部署

(1)先對數據庫連接文件進行配置,即conf.php文件:

<?php
    define('DB_HOST','localhost');
    define('DB_USER','root');
    define('DB_PASS','');   //your password
    define('DB_NAME','messages_board');
?>

(2)控制器部署

在controller控制器目錄下創建MessageController.class.php控制器文件,並在其中創建MessageController控制器類,代碼如下:

<?php
	class MessageController{
		//code...
	}
?>

(3)模型部署

在model模型目錄下創建MessageModel.class.php控制器文件,並在其中創建MessageModel模型類,代碼如下:

<?php
	class MessageModel{
		//code...
	}
?>

(4)視圖部署

在view視圖目錄下創建MessageView.class.php控制器文件,並在其中創建MessageView視圖類,代碼如下:

<?php
	class MessageView{
		//code...
	}
?>

實現上述部署後,當前目錄狀態如下:

MVC
|-- controller   //控制器目錄
||--- MessageController.class.php	//留言板控制器
|-- model        //模型目錄
||--- MessageModel.class.php		//留言板模型
|-- view         //視圖目錄
||--- MessageView.class.php		//留言板視圖
|-- core         //核心目錄
||--- MVCFunction.class.php  //核心文件
||--- DB.class.php           //操作數據庫核心文件
|-- index.php    //入口文件
|-- conf.php     //連接數據庫配置文件

0x06 代碼實現

完整代碼已上傳到github:https://github.com/LetheSec/MVC_MessageBoard


0x07 結果展示

初始頁面:
在這裏插入圖片描述

點擊添加留言即可開始留言:
在這裏插入圖片描述

可對留言進行修改或刪除:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章