更新時(shí)間:2022-09-29 10:32:27 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1816次
相信大家對(duì)什么是MVC框架已經(jīng)有所了解,那么,MVC框架工作原理是什么?小編來為大家解答。
MVC的工作原理以及目標(biāo)就是將用戶請(qǐng)求的URL映射到“控制器中的方法上”
MVC 是一種使用 MVC(Model View Controller 模型-視圖-控制器)設(shè)計(jì)創(chuàng)建 Web 應(yīng)用程序的模式:
Model(模型)表示應(yīng)用程序核心(比如數(shù)據(jù)庫記錄列表)
View(視圖)顯示數(shù)據(jù)(數(shù)據(jù)庫記錄)
Controller(控制器)處理輸入(寫入數(shù)據(jù)庫記錄)
Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對(duì)象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。
View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。
Controller(控制器)是應(yīng)用程序中處理用戶交互的部分,通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。
接下來通過代碼來展示MVC框架的原理:
// M Model 數(shù)據(jù),用模型 用二維數(shù)組模擬數(shù)據(jù)
$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]']
];
接下來創(chuàng)建視圖模板文件顯示數(shù)據(jù):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>
接下來創(chuàng)建 控制器文件,方法內(nèi)指定模板文件以及顯示的數(shù)據(jù):Staff.php
<?php
class Staff
{
public function show($data){
// 引入模板
include __DIR__.'/../view/show.html';
}
}
最后一步創(chuàng)建這個(gè)小MVC項(xiàng)目的入口文件:index.php
<?php
// 1、將用戶請(qǐng)求的控制器和操作從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、調(diào)用控制器中的方法
echo (new $controller)->$action($data);
此時(shí)MVC文件以及入口文件創(chuàng)建完畢,通過本地虛擬主機(jī)創(chuàng)建的域名和MVC項(xiàng)目進(jìn)行綁定,例如域名為 mvc.io
在瀏覽器的地址欄中輸入:mvc.io/index.php/staff/show 當(dāng)頁面中出現(xiàn)以下界面則證明MVC項(xiàng)目創(chuàng)建成功
如果您想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的SpringMVC教程,里面有更豐富的知識(shí)等著大家去學(xué)習(xí),希望對(duì)大家能夠有所幫助。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743