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扩展样板实例.

参与评论