3 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
優(yōu)點(diǎn)
1.容易上手,配置、部署方便
2.編譯緩存機(jī)制有利于性能提升
3.內(nèi)置了對(duì)REST的支持
MVC和OO啥的就不說(shuō)了...
缺點(diǎn)
1.麻煩的URL路由
正常模式:
URL -> URL路由 -> 將從URL解析得到的參數(shù)和請(qǐng)求傳遞給入口函數(shù)
TP的實(shí)現(xiàn)(以正則路由為例):
正則 -> 入口文件 + 動(dòng)態(tài)參數(shù)
如:'/^blog\/(\d+)$/' => 'Blog/read?id=:1'
簡(jiǎn)潔的實(shí)現(xiàn):
'/^blog\/(\d+)$/' => read // function read($id) {...}
此實(shí)現(xiàn)便于檢查路由規(guī)則與入口函數(shù)的匹配性并使用戶更加方便的使用解析后的URL參數(shù),同時(shí),TP的入口文件設(shè)計(jì)本就是多此一舉。
2.糟糕的模型設(shè)計(jì)
*1 需要手動(dòng)建立模型與數(shù)據(jù)庫(kù)的關(guān)聯(lián)
缺點(diǎn):需要進(jìn)行一系列不必要的配置,與定義模型后自動(dòng)生成數(shù)據(jù)庫(kù)表的行為相悖。
*2 對(duì)數(shù)據(jù)庫(kù)的抽象遠(yuǎn)遠(yuǎn)不夠
操作模型時(shí)有很強(qiáng)烈的操作數(shù)據(jù)庫(kù)感覺(jué),同時(shí)由于 2*1 需要手動(dòng)建立模型與數(shù)據(jù)庫(kù)的關(guān)聯(lián) 這一缺點(diǎn),毫無(wú)必要的字段映射讓人惱火。
3.垃圾的模板引擎
*1 不支持模板繼承
重復(fù)寫代碼很累的親!
*2 XML格式的模板標(biāo)簽
書寫不便,同時(shí)容易與HTML標(biāo)簽混淆(最近幾年出現(xiàn)的模板引擎已經(jīng)很少有用XML標(biāo)簽的了...)
*3 不適合前端書寫
模板 + 數(shù)據(jù) -> 渲染輸出
模板由前端書寫,數(shù)據(jù)由后臺(tái)提供,顯然TP的模板對(duì)此支持并不好。
*4 不支持模板的部分緩存
缺點(diǎn):假設(shè)頁(yè)面P由A, B兩部分組成,A的更新頻率大于B,則頁(yè)面P的更新頻率與A相同。
- 3 回答
- 0 關(guān)注
- 787 瀏覽
添加回答
舉報(bào)