W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在 ModPHP 中,MVC 模式被定義成下面這樣:
在 ModPHP 中,存儲(chǔ)數(shù)據(jù)的模型(數(shù)據(jù)表)叫做模塊數(shù)據(jù)表,操作數(shù)據(jù)的方法也就是控制器。模型與控制器之間的界限如此模糊的原因是因?yàn)椋篗odPHP 中,控制器基本上是自然存在的,它們是模塊被添加到項(xiàng)目中開(kāi)始,就自動(dòng)繼承于 Mod 核心類。例如 mod::add(),mod::update(),mod::delete(),mod::get() 等,它們是現(xiàn)成的操作和獲取數(shù)據(jù)的基本方法,你不需要自己的去實(shí)現(xiàn)。例如用戶(User)模塊,只需要繼承 Mod 類,不需要做其他什么,就可以通過(guò) user::add() 添加用戶,通過(guò) user::update() 更新用戶,通過(guò) user::delete() 刪除用戶,以及通過(guò) user::get() 獲取用戶。你不需要自己連接數(shù)據(jù)庫(kù),選擇數(shù)據(jù)表,編寫查詢,這一切都是可以信手捏來(lái)的。
在 ModPHP 中,是強(qiáng)調(diào)前后端一致的,在后端中可以使用的方法,在前端依然可以隨心所欲地進(jìn)行訪問(wèn)。只需要通過(guò)程序入口文件 mod.php,它是一個(gè)訪問(wèn)控制器,無(wú)論是 PHP 引用,還是前端 URL 調(diào)用,只用訪問(wèn) mod.php,就可以和模塊進(jìn)行溝通,調(diào)用模塊的操作方法。例如下面的方法是等效的:
include 'mod.php';
$result = user::get(array('user_id'=>1));
print_r($result);
<script>
$.get('mod.php?user::get|user_id:1', function(result){
console.log(result);
});
</script>
在其他 PHP 框架中,視圖一般都要對(duì)應(yīng)某個(gè)控制器,并由控制器將其返回給瀏覽器。但 ModPHP 不這么做,這樣對(duì)模板開(kāi)發(fā)的限制太多,例如變量會(huì)被濫用,多模板也很難實(shí)現(xiàn),即使實(shí)現(xiàn)也是很固定的,因?yàn)榭刂破鞯脑O(shè)計(jì)是固定的。在 ModPHP 中,視圖和模型、控制器之間是沒(méi)有上下文關(guān)系的,你可以在視圖中盡情發(fā)揮,隨意編寫模板。ModPHP 使用自動(dòng)生成模塊函數(shù)的方式,讓你隨意調(diào)取某個(gè)模塊的數(shù)據(jù)。實(shí)際上,在 ModPHP 模板中,函數(shù)是被建議使用的,因?yàn)樗鼈児δ軓?qiáng)大,內(nèi)部封裝,不會(huì)造成變量濫用的問(wèn)題。
ModPHP 包含的所有功能和特性,目的是使開(kāi)發(fā)者更專注于界面的呈現(xiàn),而不是把時(shí)間花費(fèi)在思考如何部署和編寫程序邏輯。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: