中国体彩网唯一官网
博主信息
曲小冷
博文
25
粉絲
1
評論
0
訪問量
3643
積分:1
P豆:80

MVC框架的原理

2019年03月21日 15:00:48閱讀數:642博客 / 曲小冷 / PHP

MVC的工作原理以及目標就是將用戶請求的URL映射到“控制器中的方法上”

MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設計創建 Web 應用程序的模式: 

  • Model(模型)表示應用程序核心(比如數據庫記錄列表)

  • View(視圖)顯示數據(數據庫記錄)

  • Controller(控制器)處理輸入(寫入數據庫記錄)

Model(模型)是應用程序中用于處理應用程序數據邏輯的部分,通常模型對象負責在數據庫中存取數據。

View(視圖)是應用程序中處理數據顯示的部分,通常視圖是依據模型數據創建的。

Controller(控制器)是應用程序中處理用戶交互的部分,通常控制器負責從視圖讀取數據,控制用戶輸入,并向模型發送數據。

mvc.jpg

接下來通過代碼來展示MVC框架的原理:

mvc.png

如圖創建項目,首先創建 模型 文件也就是數據:Model.php

// M Model 數據,用模型 用二維數組模擬數據
$data = [
    ['id'=>1,'name'=>'老王','age'=>22,'email'=>'[email protected]'],
    ['id'=>2,'name'=>'老王','age'=>22,'email'=>'[email protected]'],
    ['id'=>3,'name'=>'老王','age'=>22,'email'=>'[email protected]'],
    ['id'=>4,'name'=>'老王','age'=>22,'email'=>'[email protected]'],
    ['id'=>5,'name'=>'老王','age'=>22,'email'=>'[email protected]']
];

接下來創建 視圖模板 文件 顯示數據:show.html

<table>
  <tr>
    <th>ID</th>
    <th>姓名</th>
    <th>年齡</th>
    <th>郵箱</th>
  </tr>
  <?php foreach($data as $staff): ?>
    <tr>
      <td><?=$staff['id']; ?></td>
      <td><?=$staff['name']; ?></td>
      <td><?=$staff['age']; ?></td>
      <td><?=$staff['email']; ?></td>
    </tr>
  <?php endforeach; ?>
</table>

接下來創建 控制器文件,方法內指定模板文件以及顯示的數據:Staff.php

<?php
class Staff
{
    public function show($data){
        // 引入模板
        include __DIR__.'/../view/show.html';
    }
}

最后一步創建這個小MVC項目的入口文件:index.php

<?php
// 1、將用戶請求的控制器和操作從URL地址中取出
$url = explode('/',$_SERVER['REQUEST_URI']);
$controller = ucfirst($url[3]);
$action = $url[4];

// 2、加載控制器類和模型類文件
require_once __DIR__.'/controller/'.$controller.'.php';
require_once __DIR__.'/model/Model.php';

// 3、調用控制器中的方法
echo (new $controller)->$action($data);

此時MVC文件以及入口文件創建完畢,通過本地虛擬主機創建的域名和MVC項目進行綁定,例如域名為 mvc.io

在瀏覽器的地址欄中輸入:mvc.io/index.php/staff/show   當頁面中出現以下界面則證明MVC項目創建成功

22.png

批改狀態:未批改

老師批語:

全部評論

文明上網理性發言,請遵守新聞評論服務協議

條評論
暫無評論暫無評論!
  • 中国体彩网唯一官网 3d2000期开奖号 必发彩票导航 pk10和值稳赚法 新时时走势图500 AG惊吓鬼屋平台 明牌牛牛抢庄高手 AG日本武士游戏技巧 猛龙传奇老虎机 真钱抢庄牌九 北京pk10倍投骗局 金七乐42期走势 重庆时时必中计划 11选五江苏 怎么稳赚不赔 scp-823恐怖嘉年华 女篮亚洲杯2019赛程 大话西游二五开党怎么赚钱