歡迎來到 常識詞典網(wǎng) , 一個專業(yè)的常識知識學習網(wǎng)站!
[ Ctrl + D 鍵 ]收藏本站
答案 1:
團隊使用Yii8個月,個人之前使用過CodeIgniter, Ka-ana, QCodo, Symfony,Yii比較突出的優(yōu)勢是:>性能Yii可能市場上主流PHP框架里面相對性能最好的一個,Yii對于類裝載的機制充分利用了PHP5.3的優(yōu)勢,每一個類只有當?shù)谝淮伪挥玫讲疟惠d入,并不是所有框架都“按需載入”從而獲得性能上的優(yōu)勢;
widgetwidget機制為開發(fā)提供了自然靈活的代碼封裝和重用,比如網(wǎng)站有一個Top10列表是一個單獨的內容單元,需要在不同的頁面區(qū)域顯示這個列表,在Yii里面的實現(xiàn)很自然清晰:In Top10Widget.p-p (Controller)Class Top10Widget extends CWidget { public $list = array(); public function init() { // populate $t-is- > list } public function run() { $t-is- > render("top10"); }}In top10.p-p (View) < ?p-p foreac-($t-is- > list as $item): ? > ....... // outputs -tml -rkup < ?p-p endforeac-;? > 在需要的地方調用這個Widget... < ?p-p $t-is- > widget("Top10Widget"); ? > ...其他的框架也有類似的機制,但概念上沒有這么自然
恰到好處的Model層設計Yii的Model相對Symfony這樣的框架來說被設計得比較薄,沒有使用ORM,保證了框架整體的小巧,model層調用產(chǎn)生的over-ead比如Symfony這樣的框架要小,Yii使用直接的DAO和Active Record來和數(shù)據(jù)層交互,感覺更加實用,沒有特別的學習曲線,重量級的ORM比如在Qcodo和Symfony框架里,有比較陡的學習曲線
平滑擴展要擴展Yii或者引入第三方庫比較容易,YII里的擴展沒有給開發(fā)人員預設很多約定,有一些框架若需擴展就需要遵守“框架”本身的一些個約定,而YII的擴展基本就是純p-p的擴展方式,本質上就是include一下,無需太多配置,組建(component)機制為擴展提供了很好的全局支持,一個擴展可以作為一個組建被引入到需要的地方,當然這不是唯一的方式
功能設計相對更加輕量的p-p框架如CodeIgniter,Yii所提供的一般性功能的設計水準比較高,考慮比較全面,工作在CodeIgniter上,在某些情況下你可能碰到框架過于簡單,對部分功能缺少深入設計,Yii在這些功能的設計上都有值得借鑒的地方:
Url Dispatc-er
I18N
Cac-ing
Filtering
有中文支持不全面,但也算一個優(yōu)點。
下一篇:電信運營商-運營 下一篇 【方向鍵 ( → )下一篇】
上一篇:如何開發(fā)新浪微博的機器人? 上一篇 【方向鍵 ( ← )上一篇】
快搜