PHP框架yaf的優(yōu)點和缺點
在了解一個新的php框架,首先關(guān)心的是yaf的性能,其次才是安全等等要素,php各種各樣的框架,性能也不一樣.目前使用的yii和ci性能還不錯,了解yaf之后,發(fā)現(xiàn)他們性能差的十萬八千里. 今天就來聊聊我yaf我認(rèn)為的優(yōu)點和缺點。
1.1. Yaf的特點
在和其他用PHP寫的PHP框架來比的話, Yaf就是劍的第二層境界. 框架不在你手中, 而在PHP的”心”中.
目前PHP的框架層出不窮, 其中不乏很多優(yōu)秀的框架, 比如Zend官方支持的Zend Framework, Yii, ci等等. 但在這繁多的框架也就造成了公司內(nèi)多種框架的業(yè)務(wù)產(chǎn)品. 這些框架之間的不同, 也就導(dǎo)致了多種版本的類庫, 框架, 約定, 規(guī)范,,,,
那么, 為什么現(xiàn)在開源社區(qū)沒有一個成熟的用PHP擴展開發(fā)的框架呢?
用PHP擴展寫PHP框架的難點
- 難于開發(fā). 要完成一個PHP擴展的PHP框架, 需要作者有C背景, 有PHP擴展開發(fā)背景, 更要有PHP框架的設(shè)計經(jīng)驗.
- 目標(biāo)用戶群小. 現(xiàn)在國內(nèi)很多中小型站都是使用虛擬主機, 并不能隨意的給PHP添加擴展, 所以這些大部分的中小型企業(yè), 個人博客的用戶就無法使用.
- 維護(hù)成本高. 要維護(hù)PHP擴展, 不僅僅需要精通于C的開發(fā)和調(diào)試, 更要精通于Zend API, 并且升級維護(hù)的周期也會很長.
那既然這樣, 為什么還要用PHP擴展來開發(fā)框架呢, 或者說, 這可行么?
用PHP擴展寫PHP框架的可行性
- 擴展邏輯相對比較穩(wěn)定, 一般不易變化. 把它們抽象出來, 用擴展實現(xiàn), 不會帶來額外的維護(hù)負(fù)擔(dān).
- 框架邏輯復(fù)雜, 自檢耗時耗內(nèi)存都比較可觀, 而如果用擴展來實現(xiàn), 就能大幅減少這部分對資源的消耗.
1.2. Yaf的優(yōu)點
- 用C語言開發(fā)的PHP框架, 相比原生的PHP, 幾乎不會帶來額外的性能開銷.
- 所有的框架類, 不需要編譯, 在PHP啟動的時候加載, 并常駐內(nèi)存.
- 更短的內(nèi)存周轉(zhuǎn)周期, 提高內(nèi)存利用率, 降低內(nèi)存占用率.
- 靈巧的自動加載. 支持全局和局部兩種加載規(guī)則, 方便類庫共享.
- 高性能的視圖引擎.
- 高度靈活可擴展的框架, 支持自定義視圖引擎, 支持插件, 支持自定義路由等等.
- 內(nèi)建多種路由, 可以兼容目前常見的各種路由協(xié)議.
- 強大而又高度靈活的配置文件支持. 并支持緩存配置文件, 避免復(fù)雜的配置結(jié)構(gòu)帶來的性能損失.
- 在框架本身,對危險的操作習(xí)慣做了禁止.
- 更快的執(zhí)行速度, 更少的內(nèi)存占用.
其實, 來點簡單的,我認(rèn)為yaf最大的有點是性能,這不是一般的快,性能比其他php框架快上十幾倍,和原生的php相差不是非常多。缺點也很明顯,畢竟是C的擴展,如果程序有漏洞,作者未及時更新,使用者在不懂C的情況下,只能看著網(wǎng)站受辱或者祈禱,或者關(guān)閉網(wǎng)站.
轉(zhuǎn)載來自http://www.ttlsa.com/html/3369.html