Channels

Services

Zend Framework 2.2 focuses on consistency

The developers behind the Zend PHP web framework have announced that version 2.2.0 is now stable. The team said that the focus of the release has been on usability and consistency in terms of the creation and configuration of services such as logs, database connections and forms.

Most of these services now include "abstract factories" that are either registered by default or can be added to an application's configuration. The service manager uses abstract factories to handle multiple services that follow the same instantiation pattern, but which have different names. The developers have also implemented new plugin manager instances, Zend\Stdlib\Hydrator\HydratorPluginManager and Zend\InputFilter\InputFilterPluginManager. The first can be used for retrieving hydrator instances and, for example, allows custom hydrators to be used across all form instances, while the second makes it possible to retrieve input filters. This allows input filters to be reused and ensures that all input instances are provided with custom validators and/or filters. The developers have also added the new translators and sessions factories.

Version 2.2 of the framework offers initial support for Data Definition Language (DDL) queries, although this initial support is limited to creating tables with SQL92 data types. DDL is a subset of SQL that uses a different set of commands for building RDBMS (relational database management system) data structures such as tables, columns, views and triggers. Other additions include new service wrappers and an extra diagnostics feature for ZFTool. The diagnostics feature provides the ability to run customised diagnostics tests to establish the required PHP version and check for certain extensions.

The developers say that they have made further reductions in dependencies, for example, the Zend\Feed component only has two dependencies left and can, therefore, now be used in third-party HTTP clients. Other notable improvements include Redis as a cache storage backend and a removeMethod() method for the ClassGenerator – a comprehensive list is available in the changelog.

While the new version is designed to be as backwards compatible as possible, the release announcement lists two changes that could potentially cause problems (Zend\Validator, Zend\Navigation). Zend Framework is available under a BSD licence and can be obtained from the project's download page.