W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
(一)極簡、輕量級的 CMS 系統(tǒng)
ModPHP 僅包含不到 300 KB 的未壓縮源代碼,但是麻雀雖小,五臟俱全,ModPHP 搭載了幾乎所有的基本 CMS 功能,并且具備其他 PHP 框架所不具有的特性,例如 WebSocket。ModPHP 是一個 PHP 應(yīng)用程序框架,更是一個初級的 CMS 系統(tǒng),并且采用和 CMS 相同的安裝和運(yùn)行方式。
(二)模塊化開發(fā)、自動化擴(kuò)展
ModPHP 是由各種功能模塊組合而成的整體,Mod 的本意就是 Module,默認(rèn)包含用戶、文件、分類目錄、文章和評論五個基本模塊,支持無限模塊擴(kuò)展,所有模塊類統(tǒng)一繼承于 mod 類并自動獲得對數(shù)據(jù)的增刪查改的方法。
ModPHP 使用的自動化擴(kuò)展機(jī)制,絕不是簡單的創(chuàng)建文件以及自動繼承,which 是絕大多數(shù) PHP 框架的做法。ModPHP 提供的自動化擴(kuò)展機(jī)制,使得你只需要配置一下數(shù)據(jù)庫結(jié)構(gòu),就能夠獲得完整的擴(kuò)展模塊,包括它們處理數(shù)據(jù)的基本方法,以及模塊函數(shù)庫。
(三)實(shí)用、易用,亦可作為插件使用
或許,你還在使用非常原始的手段來實(shí)現(xiàn)數(shù)據(jù)庫連接、圖像操作什么的,或者使用其他框架的“鏈?zhǔn)讲僮鳌眮斫M織 sql 語句并進(jìn)行數(shù)據(jù)庫操作。但在 ModPHP 中,你可以使用另一種更為快捷的方式,例如:bool database::insert(string $table_name, array $arg[, int &$id])
。當(dāng)然,絕大多數(shù)情況下,這還是多余的,因?yàn)?ModPHP 提供模塊接口直接訪問和操作數(shù)據(jù)。
ModPHP 的易用性還在于,它使用前后端一致的設(shè)計,也就是說,你可以在 HTML 頁面中使用和 PHP 程序相近的 JS 代碼實(shí)現(xiàn)訪問后端操作。真正做到一個規(guī)則,前后端適用。
另外,ModPHP 所包含的類庫和函數(shù)庫也可作為插件被其他任何 PHP 程序所引用。
(四)自定義 URL 、自由引用文件,不受模式束縛
或許,你還使用非常原始的方式組織 URL 地址:查詢字符串,或者使用著 MVC 框架所謂的“URL 路由”(即偽靜態(tài)),ModPHP 除了提供偽靜態(tài)以外,還額外提供了自定義永久鏈接功能。你可以為網(wǎng)站的每一篇文章設(shè)置完全獨(dú)立的 URL 地址,讓這個 URL 體現(xiàn)這篇文章的意圖。
在其他框架中,你可能被要求哪些文件應(yīng)該放在哪些目錄以便調(diào)用,甚至?xí)竽闶褂脤?shí)體來替換運(yùn)算符,因?yàn)樗鼈兪褂玫摹澳0逡婕夹g(shù)”并不完善,另外你還須要學(xué)習(xí)一種新的模板語法。使用 ModPHP,你完全不需要這樣。在 ModPHP 中,你可以使用原生的 PHP 代碼編寫模板,或者使用 HTML 語義標(biāo)簽替換 PHP 語言結(jié)構(gòu)。Template 引擎會出色的解析并編譯你的模板,你可以像使用原生代碼一樣引入文件,也可以使用各種運(yùn)算符。你不需要學(xué)習(xí)新的模板語法并能夠使用它。
(五)單例模式節(jié)約系統(tǒng)資源,防止變量濫用
ModPHP 使用完全的單例模式,這樣做的目的是保證系統(tǒng)中所有對象只有一個實(shí)例,從而節(jié)約系統(tǒng)資源,并且防止由于使用全局變量帶來的不安全性。
在防止變量濫用方面,ModPHP 使用自動生成函數(shù)機(jī)制,確保最大限度的減少變量的使用,轉(zhuǎn)而使用功能更為強(qiáng)大的函數(shù),并且函數(shù)名就是數(shù)據(jù)表的字段名?;蛟S你還在抱怨在接手別人遺留的開發(fā)任務(wù)時遇到幾十上百的變量的困難,使用 ModPHP,完全沒有這些顧慮。
(六)分工開發(fā),互不干擾
如(五)中指出的,其他框架可能需要用到很多的變量,在分工開發(fā)時務(wù)必需要相互溝通交換變量,這使得完全分離的開發(fā)任務(wù)極難完成。ModPHP 沒有這種困擾,開發(fā)程序邏輯(大多數(shù)邏輯框架已經(jīng)定義)的人和開發(fā)模板的人可以毫不相干,后者只需要接過前者留下的任務(wù),查看已有數(shù)據(jù)庫結(jié)構(gòu)配置即可。
(七)完全面向 API
無論是前端調(diào)用,還是后端程序設(shè)計,ModPHP 都使用 API 來完成。前臺的 API 直接對應(yīng)類名和方法名,用來請求執(zhí)行對象和操作。后臺使用掛鉤機(jī)制直接將 Api Hook 回調(diào)函數(shù)綁定到數(shù)據(jù)操作和系統(tǒng)加載的各個流程,實(shí)現(xiàn)攔截過濾。下面這些調(diào)用方式將是你在 ModPHP 中經(jīng)常見到、并且經(jīng)常使用的。
mod.php?obj::act[|更多參數(shù)]
add_action('api.name', function([$arg]){ /** 執(zhí)行代碼 */ });
(八)多種設(shè)計模式結(jié)合
ModPHP 使用由單例模式、數(shù)據(jù)訪問對象模式、傳輸對象模式、攔截過濾器模式、前端控制器模式和裝飾器模式等構(gòu)成的混合模式,這些設(shè)計模式的相互配合使得 ModPHP 能夠在核心代碼非常精簡的條件下實(shí)現(xiàn)復(fù)雜的功能,并提供最大的用戶定制性,真正將視圖設(shè)計與模型、控制器分離。
(九)Socket 全雙工通信
WebSocket 是一個時興的話題,但各種服務(wù)器上實(shí)現(xiàn) WebSocket 的方式都千差萬別,并且和客戶端的操作形式差別太大,難以理解。而在 PHP 領(lǐng)域,WebSocket 更是稀罕之物。
ModPHP 提供全雙工通信的 Socket 服務(wù)器功能,完美配合 WebSocket 和其他編程語言的 Socket。ModPHP 將 Socket 交互設(shè)計成與 WebSocket 一致。在前端,你只需要使用 WebSocket.send() 方法發(fā)送 JSON 數(shù)據(jù),服務(wù)器則使用 SocketServer::send() 回復(fù) JSON 數(shù)據(jù)。
ModPHP 的 SocketServer 可以與任何支持 Socket 的編程語言所編寫的客戶端進(jìn)行雙向通信,實(shí)現(xiàn)一個服務(wù)器、多種客戶端的 C/S 架構(gòu)理念。
(十)極具功能性和可玩性
除了上面所介紹的內(nèi)容,ModPHP 還提供了許多其他的特性,例如命令行支持(shell 和交互式控制臺)。你以為 curl 命令只是 Linux 系統(tǒng)所特有的東西,使用 ModPHP,你也可以在 Windows 下使用 curl 命令,并且比 Linux 自帶的更好用。ModPHP 所包含的大部分特性,你都可以將它們運(yùn)用在控制臺中。ModPHP 已經(jīng)超越了應(yīng)用程序框架的范疇,它更是一款實(shí)用的工具,幫助使用者快速完成事務(wù)處理。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: