MySQL是一種常用的關系型數據庫管理系統,在Web開發中經常會使用到。而MMVC模型是一種對MySQL數據進行管理的模式,它使得數據訪問層與業務邏輯層之間的分離更為清晰,便于開發與維護。
在MMVC模式中,M代表數據模型,該模型定義了與MySQL數據交互的各種方法。M實現了具體的數據庫操作(如增刪改查等),并暴露給C。C即表示控制器,是業務邏輯層的核心。C不直接操作數據庫,而是通過M提供的方法與數據庫進行交互。當C需要請求數據時,它通過M提供的方法來獲取數據,然后再進行一些邏輯處理。同時,C也將數據傳遞給V,即視圖層,展示數據給用戶。
以下是一個示例代碼,演示了如何使用MMVC模式進行數據庫操作:
class Model { private $db; public function __construct() { $this->db = new mysqli('localhost', 'username', 'password', 'database'); } public function create($table, $data) { $keys = array_keys($data); $values = array_values($data); $query = 'INSERT INTO ' . $table . ' (' . implode(',', $keys) . ') VALUES ("' . implode('","', $values) . '")'; $result = $this->db->query($query); return $result; } public function read($table, $fields = '*', $where = '') { $query = 'SELECT ' . $fields . ' FROM ' . $table; if (!empty($where)) { $query .= ' WHERE ' . $where; } $result = $this->db->query($query); if ($result->num_rows >0) { while ($row = $result->fetch_assoc()) { $data[] = $row; } } return $data; } public function update($table, $data, $where) { $set = ''; foreach ($data as $key =>$value) { $set .= $key . '="' . $value . '",'; } $set = rtrim($set, ','); $query = 'UPDATE ' . $table . ' SET ' . $set . ' WHERE ' . $where; $result = $this->db->query($query); return $result; } public function delete($table, $where) { $query = 'DELETE FROM ' . $table . ' WHERE ' . $where; $result = $this->db->query($query); return $result; } } class Controller { private $model; public function __construct() { $this->model = new Model(); } public function create($table, $data) { return $this->model->create($table, $data); } public function read($table, $fields = '*', $where = '') { return $this->model->read($table, $fields, $where); } public function update($table, $data, $where) { return $this->model->update($table, $data, $where); } public function delete($table, $where) { return $this->model->delete($table, $where); } } class View { public function display($data) { foreach ($data as $row) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['email'] . '
'; } } } // 實例化控制器 $controller = new Controller(); // 添加數據 $data = array( 'name' =>'John', 'email' =>'john@example.com' ); $controller->create('users', $data); // 更新數據 $data = array( 'name' =>'Mary', 'email' =>'mary@example.com' ); $controller->update('users', $data, 'id=1'); // 刪除數據 $controller->delete('users', 'id=2'); // 獲取數據 $view = new View(); $data = $controller->read('users'); $view->display($data);