开放的编程资料库

当前位置:我爱分享网 > PHP教程 > 正文

Zend Framework 2.0 状态

过去几个月让我和我的团队非常忙碌,因为我们已经将注意力从ZendFramework1.X系列的维护转移到ZendFramework2.0。我最近一直在定期回答有关ZF2的问题,觉得是时候谈谈ZF2的路线图、我们到目前为止所做的工作以及社区如何提供帮助。

ZendFramework2.0路线图

2.0标志着ZendFramework的第一个新的主要版本,因此,这是我们第一次可以打破向后兼容性。主要版本通常有两种类型:大型新功能集,或重写和重构以解决架构问题。ZF2主要属于后一类。

我在11月份在ZFwiki上发布了一个粗略的路线图,我们收到了很多反馈。我们提出的几个想法受到争议,并被考虑到我们在开始实施之前概述的许多决定和目标。

此外,大约5或6周前,我开始与BillKarwin进行讨论,他从2006年年中到2007年及稍晚的1.0版本领导该项目。他对路线图的性质有一些可靠的反馈,有了这些信息,我们去年年底进行的一项民意调查的结果,以及我通过邮件列表、IRC、推特、博客等获得的反馈,我发布了一个新的路线图,重点较少在坚定而简洁地陈述项目要求的同时,关注实施细节。

一句话表述:

ZF2.0的主要目标是打造更加一致、文档完善的产品,从而提高开发人员的生产力和运行时性能。

ZF2.0的主要目标是打造更加一致、文档完善的产品,从而提高开发人员的生产力和运行时性能。

基本目标如下:

  • 简化学习曲线
  • 使扩展框架变得非常简单
  • 提高框架的基准性能
  • 简化框架的维护
  • li>

  • 成为PHP5.3使用的典范
  • 提供仅使用框架所需部分的机制

我们还为那些为ZF2做出贡献的人陈述了几个总体发展目标:

  • 简化
  • 按合同编程
  • 有利于显式

有关每个目标的更多详细信息,我鼓励您阅读文档。

完成了什么

虽然路线图最近才真正稳定下来,但这并不意味着我们没有在其发展上稳步努力。早在2年前,我们就有一些目标。其中包括将项目迁移到名称空间,提供基础设施以允许挑选组件进行打包,以及更新单元测试基础设施以更好地利用最新的PHPUnit功能。

在1.10.0发布后不久,我在自己的服务器上创建了一个临时的git存储库,并开始工作。我做的第一个任务是更新单元测试套件并分析所有类文件的依赖关系以协助命名空间迁移。

完成这个过程后,我的整个团队——我们三个人——开始了将代码迁移到命名空间的工作。Ralph编写了一个工具来扫描库并创建现有类的映射文件以及建议的名称空间/类名组合。然后我们使用这个工具作为迁移的起点,我们每个人一次处理一个组件。这项工作绝不是自动化的——我们很快发现这样的工具只处理最粗略的工作。我详细介绍了一些几个月前我们的发现;我们遇到了一些我们从未预料到的问题,而且进展远非如此迅速。然而,在这一点上,我们已经迁移了除Zend_Service类、MVC和构建在MVC之上的那些组件(Application、Navigation、Form等)之外的所有内容。

在此期间,我们还重写了一些组件,因为我们发现了不一致之处或我们在单元测试中遇到问题的地方。一个这样的组件自创建以来基本上就是一个痛点:Zend\Session。新设计很好地说明了在集中重写期间可以完成什么,并在有意义的地方使用5.3功能,我对结果非常满意。

与此同时,我还进行了大量研究,以确定我们将如何提供Git存储库和工作流程。我们将采用相当传统的工作流程,其中只有少数开发人员具有提交权限,所有其他贡献者将向这些开发人员提交拉取请求——从文档修复到错误修复和功能主题的所有内容。为确保贡献者已签署CLA,我们创建了一个pre-receive挂钩,用于根据CLA签署者列表验证作者或审阅者。此外,我们还创建了post-receive流程来创建RSS提要和发送电子邮件通知。我们可以很容易地连接这些进程以添加新功能——例如向atwitter帐户发送更新、执行子树合并等。这应该有助于我们在不久的将来建立持续集成。

官方ZendFramework2.0Git存储库可供克隆:

  • gitclonegit://git.zendframework.com/zf.git

Github上的乐于助人的人也友善地提供了存储库的镜像;我们希望贡献者可以从那里分叉,以便在新功能和错误修复方面进行协作。(我也将它克隆到我自己的Github帐户下,供那些想要发出拉取请求的人使用。)

警告!ZendFramework2.0开发处于非常的早期阶段,不应用于开发生产应用程序。事实上,这些API在接下来的几周和几个月内发生变化,因此不应依赖它们来做任何事情。

社区倡议

上周围绕社区参与ZF2流程涌现了许多新举措。

我的团队的主要目标是充分迁移库,以便我们可以打开存储库进行克隆,并允许贡献者开始致力于改进框架的计划。现在这是可能的,并且正在出现其他一些举措。

一些社区成员提出了社区审查小组的想法。这项工作仍在进行中,但基本目标是:

  • 协助贡献者将补丁添加到框架中,主要是充当缺失的维护者或维护者与其他贡献者之间的仲裁者的联络人。
  • 通过执行提案审查和协调,将新功能提案引导到master分支中代码审查。

有关此工作的更多信息,请查看zf-contributors邮件列表上的主题。

许多贡献者也开始讨论组件的重写和重构。其中大部分是在zf-contributors邮件列表上完成的,还有一些是在Freenode的#zftalk.dev频道上完成的。如果您有兴趣做出贡献,我强烈建议您订阅该列表并在可能的时候加入该频道。

尾注

这是ZendFramework开发的激动人心的时刻——自1.0版本以来我们第一次可以打破向后兼容性,并且有机会参与尖端的PHP5.3开发。虽然这个过程很缓慢,但它也带来了难以置信的回报和丰富的学习经验——我很高兴我有机会参与其中。我希望你能加入我们!

未经允许不得转载:我爱分享网 » Zend Framework 2.0 状态

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏