1. 程式人生 > >Yaf-一個PHP擴充套件實現的PHP框架

Yaf-一個PHP擴充套件實現的PHP框架

快有一個月沒有更新Blog了, 一來是最近專案比較緊張, 二來就是在忙著開發Yaf(Yet another Framework)

一直以來, 我研究PHP的核心, 雖然有文章不少, 但卻鮮有一些藉助這些研究成果而來的, 實際的東西, 也就無法讓更多人學習到對Zend API的實際運用.

我思考了一段時間, 覺得有必要寫一個擴展出來, 這個擴充套件要用到很多Zend API, 要用到很多在網上的PHP擴充套件開發中,鮮有敘及的部分(比如, 實現類/介面, 繼承, 自動載入,等等), 讓更多的PHP擴充套件開發者可以借鑑.

最後, 考慮到目前有很多PHP框架, 而這些框架中也有很多很優秀的代表, 比如Zend Framework(因為Yaf是依照Zf來的, 所有特指一下). 這些框架, 運用了很多PHP5以後的新技術, 那麼, 如果用擴充套件寫一個類似於她們的框架, 除了能達到我之前想要的擴充套件教程的目標, 又能很大程度上解決, 框架的效能問題..

至於, 為什麼叫Yaf, 是我實在想不到更好的名字了, 就借鑑了Yacc的命名方法, 取名為(yet another framework)

注意, 目前Yaf2.0已經開發完成, 完全新的體系架構和設計. 經過系統的測試, 並且已經在公司多條產品線應用. 請大家暫停使用1.0, 2.0會在文件準備充足後放出.

Yaf本著把框架中不一遍的部分抽象出來, 並且提供靈活的可調整的介面, 實現了類似Zend Framework的如下介面/類:

Yaf_Application
Yaf_Controller
Yaf_View
Yaf_Request
Yaf_Bootstrap
Yaf_Route
Yaf_Config
Yaf_Registry
Yaf_IView
Yaf_Exception

也採用了和ZF一樣的dispatchLoop方式, 支援Bootstrap, Plugin. 當然從效能最優考慮, 改變了一些介面類和呼叫時刻的引數型別.

具體的可以參看Yaf手冊

Google Code地址: phpyaf

不過Yaf目前也只是0.1 alpha版本, 還沒有經過系統測試, 所以估計Bug不少, 就暫時不推薦試用了. 等達到beta版本以後, 再請試用.

目前放出, 供大家挑毛病和提建議, 也希望有興趣的同學可以參與進來.

最後, 我希望Yaf可以成為一個成功的PHP框架.. 也希望以Yaf能成為一個好的PHP擴充套件樣板例項.