MVC是一種設計模式,可在Web應用程序開發中使用。 這個模式將應用程序分為三個組件:模型,視圖和控制器。 應用程序數據存儲在模型中,而視圖以可視化形式呈現數據。 控制器充當這兩個組件之間的中介。
為了連接MySQL數據庫,我們需要將數據存儲到一個模型中。 我們可以使用PHP的PDO(PHP Data Objects)擴展來實現數據庫連接。 PDO可與多種關系數據庫管理系統(RDBMS)一起使用。 在這里,我們將使用PDO來連接MySQL數據庫。
// 建立到mysql的PDO連接 try { $dsn = 'mysql:host=localhost;dbname=mydatabase'; $username = 'myusername'; $password = 'mypassword'; $pdo = new PDO($dsn, $username, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); }
一旦我們連接到數據庫,我們可以使用PDO對象執行SQL查詢并檢索結果。 以下代碼顯示了如何使用PDO查詢一些數據并輸出結果。
// 從數據庫中選擇一些列 $results = $pdo->query('SELECT name, email FROM users'); echo '<table>'; foreach ($results as $row) { echo '<tr><td>' . $row['name'] . '</td><td>' . $row['email'] . '</td></tr>'; } echo '</table>';
在MVC中,我們將上述所有代碼放入模型中,在控制器中實例化模型并將數據傳遞給視圖。 例如,以下是一個簡單的控制器,該控制器將從數據庫中選擇所有用戶并將它們傳遞給視圖以顯示:
class UserController { public function actionViewAll() { // 建立到mysql的PDO連接 try { $dsn = 'mysql:host=localhost;dbname=mydatabase'; $username = 'myusername'; $password = 'mypassword'; $pdo = new PDO($dsn, $username, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); } // 從數據庫中選擇一些列 $results = $pdo->query('SELECT name, email FROM users'); // 將結果傳遞給視圖 include 'views/user/view-all.php'; } }
最后,我們需要創建視圖來顯示用戶數據。 此視圖應該包含HTML和PHP代碼,以輸出從控制器傳遞的數據。 以下代碼顯示了如何在視圖中執行此操作:
<?php foreach ($results as $row) { ?> <div> <h2><?php echo $row['name']; ?></h2> <p><?php echo $row['email']; ?></p> </div> <?php } ?>
通過使用此MVC模式,我們可以輕松地將MySQL數據存儲到模型中,并通過控制器呈現數據在不同的視圖中。 該模式可幫助我們更好地組織代碼,并使我們的Web應用程序更易于維護。