MatrixPHP 是由趙桓根據(jù)thinkPHP和SpeedPHP整合的框架,。
1 Yii 是一個基于組件的高性能 PHP 框架,,用于快速開發(fā)大型 Web 應(yīng)用。它使Web開發(fā)中的 可復(fù)用度最大化,,可以顯著提高你的Web應(yīng)用開發(fā)速度,。 Matrix具有thinkPHP和speedPHP的特點。thinkPHP是個開源的輕量級框架,,適合中小型項目,。SpeedPHP是一款全功能的國產(chǎn)PHP應(yīng)用框架系統(tǒng)。她以“快速開發(fā),、快速學(xué)習(xí),、快速運行”為理念,,在提高團隊開發(fā)效率、容易學(xué)習(xí)及使用,、輕量級架構(gòu)以增加執(zhí)行速度等方面有著突出的表現(xiàn),。個人感覺Matrix是在speedphp為基礎(chǔ),引入了thinkphp的數(shù)據(jù)層操作的特點的一個框架,。 2 yii 貌似只有三層架構(gòu)M-V-C,。而Matrix 具有四層架構(gòu):視圖,控制層,,業(yè)務(wù)層,,數(shù)據(jù)層。Matrix的業(yè)務(wù)層是后來根據(jù)業(yè)務(wù)需要添加的:當(dāng)時考慮有些業(yè)務(wù)根據(jù)需要需要封裝成獨立,,唯一的接口(或者叫方法),,供其他平臺訪問。這些接口放在control層不適合,,因為control不能獨立調(diào)用,。放在model層也不適合,OOP的觀點 model層是不能直接讓外部訪問的,。 3 yii的model層封裝的比較徹底,。只需要在命令行下 執(zhí)行 model User ,curd User 就能創(chuàng)建一個model文件,,且能實現(xiàn)增刪查改方法,甚至能產(chǎn)生對應(yīng)的控制層文件,。而Matrix則需要一步一步的操作,,更要命你的要配置alias 把model和對應(yīng)的路徑寫進(jìn)去。Yii的控制層是繼承了CControler父類,,每個請求動作都是已action開始的,。而Matrix是繼承了BaseControler,或者是CommonControler,。每個請求沒必要用action開頭,。Yii有很強的生產(chǎn)html的靜態(tài)類:CHtml,且每個模板都是php文件,。個人感覺這個沒有必要,,CHtml把前端工程師的活都做了。呵呵,!view層還是用靜態(tài)頁面好,。這點Matrix表現(xiàn)不錯! 4 yii控制層 就收數(shù)據(jù)比較簡單 只需要 接收名單名稱就行,。且表單數(shù)據(jù)的驗證都封裝在對應(yīng)的表單中,。處理起來很整潔,。Matrix則是在control層 一個一個接收表單元素,在一個一個根據(jù)規(guī)則驗證,,代碼很繁瑣,。 5 yii在處理表與表的聯(lián)查是很方便。Matrix 可能只能寫SQL語句了,。Yii提供了強大的緩存功能,。官方就支持 CMemCache,CApcCache,,CxCache,,CdbCache等。Yii的緩存大致可分為:數(shù)據(jù)緩存,,片段緩存,,嵌套緩存,頁面緩存等等,。Matirx好像不支持片段緩存和嵌套緩存,。 6 yii有強大的url manager 管理工具和基于角色的訪問控制。 |
|