5

Yaf-一个PHP扩展实现的PHP框架

 3 years ago
source link: https://www.laruence.com/2010/09/04/1736.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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的如下接口/类:

  1. Yaf_Application
  2. Yaf_Controller
  3. Yaf_View
  4. Yaf_Request
  5. Yaf_Bootstrap
  6. Yaf_Route
  7. Yaf_Config
  8. Yaf_Registry
  9. Yaf_IView
  10. Yaf_Exception

也采用了和ZF一样的dispatchLoop方式, 支持Bootstrap, Plugin. 当然从性能最优考虑, 改变了一些接口类和调用时刻的参数类型.

具体的可以参看: Yaf at PHP.net

Github地址: Yaf at Github

PECL地址: Yaf at PECL

以及一个中文版的手册: Yaf中文手册

目前放出, 供大家挑毛病和提建议, 也希望有兴趣的同学可以参与进来.

最后, 我希望Yaf可以成为一个成功的PHP框架.. 也希望以Yaf能成为一个好的PHP扩展样板实例.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK