The Zend Framework community is pleased to announce the immediate availability
of Zend Framework 2.0.0beta1. Packages and installation instructions are
This is the first in a series of planned beta releases. The beta release
cycle will follow the “gmail” style of betas, whereby new features will
be added in each new release, and BC will not be guaranteed; beta
releases will happen no less than every six weeks. The desire is for
developers to adopt and work with new components as they are shipped, and
provide feedback so we can polish the distribution.
Once all code in the proposed standard distribution
has reached maturity and reasonable stability, we will freeze the API and
prepare for Release Candidate status.
Featured components and functionality of 2.0.0beta1 include:
New and refactored autoloaders:
New plugin broker strategy
- Zend\Loader\Broker and Zend\Loader\PluginBroker
Reworked Exception system
- Allow catching by specific Exception type
- Allow catching by component Exception type
- Allow catching by SPL Exception type
- Allow catching by base Exception type
- Rewritten Session component
Refactored View component
- Split helpers into a PluginBroker
- Split variables into a Variables container
- Split script paths into a TemplateResolver
- Renamed base View class “PhpRenderer”
- Refactored helpers to utilize __invoke() when possible
- Refactored HTTP component
- New Zend\Cloud\Infrastructure component
- New EventManager component
- New Dependency Injection (Zend\Di) component
New Code component
Incorporates refactored versions of former Reflection and
- Introduces Scanner component.
- Introduces annotation system.
- Incorporates refactored versions of former Reflection and
The above components provide a solid foundation for Zend Framework 2, and
largely make up the framework “core”. However, the cornerstone feature of beta1
is what they enable: the new MVC layer:
- Zend\Module, for developing modular application architectures.
Zend\Mvc, a completely reworked MVC layer built on top of HTTP,
EventManager, and Di.
Additionally, for those who haven’t clicked on the packages link above, we are
debuting our new distribution mechanisms for ZF2: the ability to use
Pyrus to install individual components and/or groups of
Since mid-August, we’ve gone from a few dozen pull requests on the
ZF2 git repository to over 500,
originating from both long-time Zend Framework contributors as well as those
brand-new to the project. I’d like to thank each and every one of them, but also
call out several individuals who have made some outstanding and important
contributions during that time frame:
Evan Coury, who prototyped and then implemented the new
Rob Allen, who, because he was doing a tutorial at
PHPNW on ZF2, provided a lot of early
feedback, ideas, and advice on the direction of the MVC.
Ben Scholzen, who wrote a new router system, in
spite of a massive injury from a cycling accident.
Ralph Schindler, who has had to put up with my
daily “devil’s advocate” and “think of the user!” rants for the past several
months, and still managed to provide comprehensive code manipulation tools, a
Dependency Injection framework, and major contributions to the HTTP
Enrico Zimuel, who got tossed requirements for the
cloud infrastructure component, and then had to rework most of it after
rewriting the HTTP client from the ground up… and who still managed three
back-to-back-to-back conferences as we prepared the release.
Artur Bodera, who often has played
devil’s advocate, and persisted pressing his opinions on the direction of the
framework, often despite heavy opposition. We may not implement all (or many)
of the features you want, but you’ve definitely influenced the direction of
the MVC incredibly.
Pádraic Brady, who
started the runaway train rolling with a rant,
and helped make the project much more transparent, enabling the MVC
development to occur in the first place.
Welcome to the ZF2 beta cycle!