The Zend Framework Community has delivered another feature-rich release of Zend Framework and I'm extremely proud and happy to see the energy and excitement around this project. The ZF team (Wil Sinclair, Matthew Weier O'Phinney, Ralph Schindler, Alexander Veremyev) along with many others in the ZF community and at Zend, have been doing a superb job and have been working very hard to put this release together. I’d also like to extend the team's thanks to Alex Russell, Dylan Schiemann, and Peter Higgins from the Dojo Foundation who supported the collaboration between ZF and Dojo and helped make the integration a reality for the 1.6 release. Such a deep collaboration between a major server-side framework and a market leading client-side Javascript framework is a rarity in the Web community.
The integration with Dojo, which I previously blogged about, has already had a significant impact in community. In the spirit of consuming our own work we have also updated the Zend Framework Web site to use some of the Dojo integration work we have done. Some examples include the enhanced ZF partners page and the FAQ.
In addition, with this release we continue to provide enterprise-grade features with our new Zend_Soap component, which brings PHP-style simplicity to building and exposing SOAP web services. This component can operate in both WSDL and non-WSDL mode and makes creating or consuming a SOAP service a snap.
Also we've made Zend Framework even easier to use for agile and test-driven development. In fact, ZF 1.6 is the first Zend Framework release developed entirely with an agile methodology (based on Scrum). Under Matthew's direction, we've provided a functional testing harness that makes testing your Zend Framework controllers easier than ever before. We do this by providing the necessary mock objects you need to simulate an HTTP request and making it easy to test the response and routing of the request. See Matthew's blog post for more on this essential new component in Zend Framework.
Zend Framework 1.6 marks another major milestone in Zend Framework history. We have had remarkable adoption and are seeing Zend Framework continue to drive PHP adoption not only in the broader Web developer community but also deeper into more conservative organizations. There is definitely a huge change happening in the Web community driven by goals around productivity, engineering methodology and lowering the total cost for releasing and managing Web applications. I’m glad that we are doing our share to enable this wave when economic drivers and the need for rapid and incremental innovation are making IT personnel rethink their traditional methodology and technology choices.
If you still haven't registered for ZendCon 08 then you should get on it. There will be plenty of content around Zend Framework not to mention that several ZF team and community members will be attending. There will therefore surely be plenty of opportunity to discuss ZF, present and future… Hope to see you there!
Enjoy this release!
---
For an (almost) complete list of enhancements in ZF 1.6 please see below:
Preview of Tooling Project:
Zend_Tool is a component currently under development in the Zend Framework library. It provides services for generating and managing ZF-based projects. We are offering a preview release along with ZF 1.6 to collect feedback from users in a variety of environments and with different requirements. Please let us know how Zend_Tool works for you by visiting the Zend_Tool focus group site at http://tech.groups.yahoo.com/group/zf-tool/. We will also be posting an overview of Zend_Tool on the Zend Developer Zone within the next 24 hours.
Lucene 2.3 Index File Format Support:
Starting with 1.6, ZF supports version 2.3 of Lucene's index file format. This update to the format allows segments to share a single set of doc store (vectors & stored fields) files, which enables faster indexing in certain cases. This also makes Zend_Search_Lucene compatible with the latest version of the Lucene project.
Zend_Session save handler for Database Tables:
This is a database independent adapter for use with Zend_Session. Saving sessions in the database may be used for supporting sessions which must be maintained across multiple servers or kept for logging purposes.
Paginator Component:
Zend_Paginator is a new component for displaying large data sets in groups of 'pages' on a website. It can paginate data from virtually any source, and it fetches data lazily to maximize performance and minimize memory use when the data set is particularly large (as is often the case with data stored in a relational database). Zend_Paginator comes with a few data source adapters out of the box, along with an interface for implementing additional data source adapters.
Figlet Support:
Zend_Text_Figlet can create large ascii-character-based text given a figlet font and a string to render. Although they’ve been around for a long time, Figlets are most useful for captchas nowadays, especially when a lightweight solution is required and/or bandwidth is constrained. In fact, the new captcha form element includes an adapter for figlets.
ReCaptcha Service:
ReCaptcha is a very cool service that provides text-based captcha images. The answers submitted to ReCaptcha help digitize printed books. The new captcha form element also includes an adapter for the ReCaptcha service. Read more about ReCaptcha here: http://recaptcha.net/learnmore.html.
Captcha Form Element:
A form element to render and validate captchas, which are commonly used to ensure a human is submitting a form and not a (potentially malicious) bot. The captcha form element is backed by several adapters for different captcha mechanisms, including GD-based graphics, figlets, and the ReCaptcha service. Users can implement their own adapters;each adapter takes care of validation and decorators to ensure the form element looks and behaves correctly, regardless of the captcha mechanism used.
Zend_Config_Xml Attribute Support:
XML attribute support has been added to Zend_Config_Xml that allows ZF developers to write smaller XML documents that are more human-readable. This attribute support is already seeing a lot of adoption inthe Zend_Tool project.
Zend_File_Transfer Component:
This is a new component used for transferring files from one machine to another over multiple protocols. It currently supports HTTP, with an adapter interface that can be implemented to support additional protocols in the future. This component also supports validation on the transferred file.
File Upload Form Element:
This component completes the HTML form element support in Zend_Form. Files can be chosen by the user, validated for properties such as size, and uploaded to the server simply by adding a file upload form element to your forms. The element utilizes Zend_File_Transfer internally to validate the uploaded file and move it to its final destination.
Zend_Wildfire Component with FireBug Log Writer:
Zend_Wildfire is a new component supporting the Wildfire protocol: http://www.wildfirehq.org/. This feature also adds a FireBug log writer to write server-side log events to a FireBug console. A specialized FireBug Zend_Db profiler is provided to log DB profiler data to the FireBug console, as well.
Media View Helpers (Flash, QuickTime, Object, and Page):
ZF 1.6 contains new view helpers for embedding Flash, QuickTime, Objects, and Pages in a view.
Zend_Translate adds the INI file format:
This addition adds to the long list of translation file formats it already supports.