The Zend Framework team announces the immediate availability of version
Kudos and thanks go out to the huge number of community contributors who helped
make this release possible. This release has been almost entirely community
driven, with the Zend team contributing primarily feature additions to existing
components and working on maintenance of the project. If you submitted an
issue report, a documentation improvement, a patch, a documentation
translation, or a component, let it be known that you helped make
this release what it is!
The big stories in this release can be summed up in two phrases: enterprise
tools and PHP 5.3 support.
With Zend Framework making inroads to Enterprises, it’s not surprising that
we are seeing a number of components geared towards the Enterprise. In this
release, we add two new components —
Zend_Test_PHPUnit_Db — as well as additions to existing
Zend_Db_Adapter_Sqlsrv — that target such development.
Zend_Queue provides a common API for interacting with queue
services such as Apache’s ActiveMQ, MemcacheQ, and Zend Platform’s Job
Zend_Test_PHPUnit_Db brings DBUnit support to our
Zend_Test offering, and provides integration with
Zend_Ldap support is now much more
robust, and allows connectivity with MS ActiveDirectory and Novell’s
eDirectory, as well as full CRUD and tree manipulation options.
Zend_Rest_Route allows developers to quickly develop RESTful
MVC applications, which are increasingly gaining traction when serving
Zend_Db_Adapter_Sqlsrv interfaces with Microsoft’s
SQL Server driver for PHP.
A month ago, the PHP team released the long-awaited PHP 5.3, which offers
many improvements to the object model, as well as increased performance.
Upgrading to PHP 5.3 is mostly straightforward, but, as with any release of
this magnitude, sometimes takes some work. We have carefully audited our
code and combed through our testbed in order to provide first-class
compatibility for PHP 5.3 in Zend Framework — while simultaneously
continuing to support PHP 5.2.4 and above. Using Zend Framework on PHP
5.2 or 5.3 should be seamless and pose no issues for developers.
New features in Zend Framework 1.9.0 include:
Zend_Service_Amazon_Sqs, which provide
the ability to use local and remote messaging and queue services for offloading
asynchronous processes. (Contributed by Justin Plock and Daniel Lo)
adapter for Zend Platform’s Job Queue. (Contributed by Zend Technologies)
Zend_Controller_Plugin_PutHandler, which aid in providing RESTful
resources via the MVC layer. (Contributed by Luke Crouch, SourceForge)
Zend_Feed_Reader, which provides a common API to RSS and Atom
feeds, as well as extensions to each format, caching, and a slew of other
functionality. (Contributed by Pádraic Brady and Jurrien Stutterheim)
Zend_Db_Adapter_Sqlsrv, a Zend_Db adapter for Microsoft’s SQL
Server driver for PHP. (Contributed by Juozas Kaziukenas and Rob Allen)
Zend_Db_Tableupdates to allow using
a concrete class by passing it one or more table definitions via the
constructor. (Contributed by Ralph Schindler)
Zend_Test_PHPUnit_Db, which provides
for PHPUnit’s DBUnit support, allowing developers to do functional and
integration testing against databases using data fixtures. (Contributed by
- Annotation processing support for
Zend_Pdf, as well as performance
improvements. (Contributed by Alexander Veremyev)
Zend_Dojocustom build layer support. (Contributed by Matthew Weier
- Dojo upgraded to 1.3.2.
Zend_Ldapimprovements, including full support for CRUD
operations, search, and manipulating tree structures. (Contributed by Stefan
Zend_Logwriter for writing
to your system log. (Contributed by Thomas Gelf)
Zend_View_Helper_BaseUrl, a view helper for returning the current
base URL to your application, as well as for constructing URLs to public
resources. (Contributed by Robin Skoglund and Geoffrey Tran)
Zend_Datenow has support for the
(Contributed by Thomas Weidner)
Zend_Localehas been upgraded to CLDR 1.7. (Contributed by Thomas
Zend_Translatenow has plurals support for the Gettext, Csv, and
Array adapters. (Contributed by Thomas Weidner)
- PHP 5.3 compatibility, including support for new features in the mysqli
extension. All components are fully tested on both PHP 5.2.4 and above, as
well as PHP 5.3.0.
In addition, a large number of smaller improvements were made throughout
the framework, and around 700 issues have been resolved or closed since
the release of 1.8.0!
Any project the size of Zend Framework will inevitably run into issues where
backwards compatibility breaks occur. While we strive to keep these to a
minimum, we still needed to introduce several changes and updates in this
version. They include the following:
A change was made in Zend_Http_Client to correct ZF-5744 (Multiple file uploads
using the same $formname in setFileUpload). Instead of returning an associative
array of element name => upload information pairs, it now returns an array of
arrays, with the element name as part of the upload information. This allows
multiple file uploads using the same element name.
One deciding factor for many when choosing which
Zend_Configformat to use for their application config had
to do with support for constants. Our application recommendations
include defining two constants,
APPLICATION_PATH, and many developers have found it useful
that in INI and PHP configurations, these constants are expanded during
Zend_Config_Xmlnow supports this via an XML
namespace as follows:
<config xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/"> <production> <includePath><zf:const zf:name="APPLICATION_PATH"/>/library</includePath> </production> </config>
On the PHP side, nothing changes.
Prior to PHP 5.3,
parse_ini_string()handled non-ASCII characters in INI
option values without an issue. However, starting in PHP 5.3, such
options will now be silently dropped in the array returned. If you are
upgrading to PHP 5.3 and using
this could cause potential issues for you. If you use UTF-8 or Latin-1
characters in your INI option keys (which are the message IDs for
translation), you should either modify these to use only ASCII
characters, or choose a different translation adapter.
Zend_Service_Amazonhas been updated to comply with the
latest Amazon ECommerce APIs — which, as of 15 August 2009, will
require an API key for authentication. As a result, if you now use
Zend_Service_Amazon, you will need to pass your API key to
$amazon = new Zend_Service_Amazon($appId, $countryCode, $apiKey);
Otherwise, usage of this component remains the same.
A detailed list of all features and bug fixes in this release may be found at:
Please join me in a hearty round of congratulations and acknowledgment of
all contributors who helped make this release possible through code
contributions, feedback, testing, documentation, translations, and issue
reports! Without you, the community, Zend Framework would not be
where it is today!