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