Development tools: Zend Framework

Web application development frameworks are collections of tools and processes used by a group of developers to come together with a common approach to development of web applications. Zen Framework (ZF) is one of those frameworks that is gaining support across a wide variety of user communities. It is supported by some leading web application delivery platforms.

As an open source delivered framework it can be enhanced and supported in the traditional open source environments. Its ability to support object-oriented development is critical for the rapid development scenarios needed and popular in today’s environment for rapid application development. The framework makes use of, requires PHP version 5, and is licensed to its users under the New BSD License.

Being conceived while other frameworks were in process of being considered and used in early 2005, Zend Framework came on the scene along with Ruby on Rails and Spring Framework. Announced in October 2005, its first release was delivered on July 1, 2007.

As a use-at-will framework, ZF relies on PHP 5 and its requirement and integration with PHP is mutual and based on a loosely coupled relationship. There are several design patterns; a term common among development frameworks, that must be provided for with a framework and ZF provides some. Specifically the MVC, Table Data Gateway and Row Data Gateway patterns are provided. The whole purpose of a framework is to pull together a common set of patterns that make generating or building applications consistent and reliable.

Another common reason for a framework is to promote a series of best practices for web development and ZF does that for the PHP community. ZF seems to be looser in this regard as conventions aren’t commonly used but there are suggestions implemented by a set of defaults that are considered reasonable but can be overridden for an applications specific needs.

In order to license Zend Framework the user is required to adopt the New BSD license, which is included and approved by the Open Source Initiative (OSI). If a particular user is intending to contribute to the code of ZF they must also agree to the Contributor License Agreement (CLA), which is based on that used by the Apache Software Foundation. These sets of licensing requirements were setup in order to minimize issues that might arise regarding intellectual property rights to commercial applications build with ZF.

Zend Framework has a corporate sponsor, Zend Technologies, which was co-founded by some core contributors to PHP, Andi Gutmans and Zeev Suraski. There is a set of technology partners interested in carrying ZF forward including: Microsoft, Google, IBM and Adobe Systems.

Certain levels of PHP are required and recommended for use of ZF. There are releases of ZF that establish certain requirements in this regard, for example since ZF 1.7.0 PHP 5.2.4 has been required. Before that PHP 5.1.4 was required. The most stable release of PHP recommended for security and performance reasons is PHP 5.2.3 or later.

There are a series of features provided by ZF. Particular interest should be taken in the underlying database management systems supported by ZF. These include: IBM DB2, MySQL, Microsoft SQL Server, Oracle, PostgreSQL, Informix Dynamic Server and SQLite.

Examine other features to make sure they deliver what you need for your particular application system development requirements.