Zend Framework

Zend Framework (ZF) is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License.

History

Zend Framework was conceived in early 2005 while many new frameworks, such as Ruby on Rails and the Spring Framework, were gaining popularity in the web development community. ZF was publicly announced at the first Zend Conference in October 2005.

On July 1, 2007, Zend Framework 1.0 was released.

Philosophy

ZF is a use-at-will framework. There is no single development paradigm or pattern that all Zend Framework users must follow, although ZF does provide components for the MVC, Table Data Gateway, and Row Data Gateway design patterns. Zend Framework provides individual components for many other common requirements in web application development.

Zend Framework also seeks to promote web development best practices in the PHP community; conventions are not as commonly used in ZF as in many other frameworks, rather suggestions are put forth by setting reasonable defaults that can be overridden for each ZF application’s specific requirements.

Licensing

Zend Framework is licensed under the Open Source Initiative(OSI)-approved New BSD License, and all code contributors must sign a Contributor License Agreement (CLA) based on the Apache Software Foundation’s CLA. The licensing and contribution policies were established to prevent intellectual property issues for commercial ZF users, according to Zend’s Andi Gutmans.

Sponsor and partners

Zend Technologies, co-founded by PHP core contributors Andi Gutmans and Zeev Suraski, is the corporate sponsor of Zend Framework. Technology partners include IBM, Google, Microsoft, Adobe Systems, and StrikeIron.

Requirements

Zend Framework requires PHP 5.2.4 or later since version 1.7.0. Previous versions required PHP 5.1.4 or later, although the ZF Programmer’s Reference Guide strongly recommended PHP 5.2.3 or later for security and performance improvements included in these versions of PHP. PHPUnit 3.0 or later is required to run the unit tests shipped with Zend Framework. Many components also require PHP extensions.

Features

Zend Framework features include:

All components are fully object-oriented PHP 5 and are E_STRICT compliant

Use-at-will architecture with loosely coupled components and minimal interdependencies

Extensible MVC implementation supporting layouts and PHP-based templates by default

Support for multiple database systems and vendors, including MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite, and Informix Dynamic Server

Email composition and delivery, retrieval via mbox, Maildir, POP3 and IMAP4

Flexible caching sub-system with support for many types of backends, such as memory or a file system.

Code, documentation, and test standards

Code contributions to Zend Framework are subject to rigorous code, documentation, and test standards. All code must meet ZF’s coding standards and unit tests must reach 80% code coverage before the corresponding code may be moved to the release branch.

Source