Zend Framework ?
Zend Framework is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. Zend Framework-often referred to as ZF-is developed with the goal of simplifying web development while promoting best practices in the PHP developer community.
ZF's use-at-will architecture allows developers to reuse components when and where they make sense in their applications without requiring other ZF components beyond minimal dependencies. There is therefore no single development paradigm or pattern that all Zend Framework users must follow, although ZF does provide components for the MVC and Table Gateway design patterns which are used in most ZF applications.
Zend Framework provides individual components for many other common requirements in web application development, including authentication and authorization via access control lists (ACL), application configuration, data caching, filtering/validation of user-provided data for security and data integrity, internationalization, interfaces to AJAX functionality, email composition/delivery, Lucene-format search indexing and querying, and all Google Data APIs along with many other popular web services. Because of their loosely coupled design, ZF components can be used relatively easily alongside components from other
History and philosophy
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. At the same time, no widely used framework had been made available to the PHP community to fulfill similar web development needs. The designers of Zend Framework sought to combine the ease-of-use and rapid application development (RAD) features of these new frameworks with the simplicity, openness, and real-world practicality that is highly valued in the PHP community.
Typically, specific development usage scenarios are implemented using more generalized software components through automatic configuration and/or code generation. In previous releases, the Zend Framework community has opted to complete development and testing of these underlying components before starting work on simplifying development tasks such as database migrations, generating scaffolding, and project creation and configuration. This practice has been the subject of some criticism since some functionality considered by many as necessary for a general release for modern web application frameworks is slated for future Zend Framework releases. Many ZF users, however, have found such generalized software components more reusable and extensible in implementing their applications. 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.
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.
- 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
- 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.