Zend Framework

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Zend Framework
Image:zend-framework.png
Developed by Zend Technologies
Latest release 1.7.1 / 01 December 2008; 5 days ago
OS Cross-platform
Type Web application framework
License New BSD license
Website http://framework.zend.com/

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 PHP web application frameworks.[1]

Contents

[edit] 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.[2] 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.[3]

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.

[edit] 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 circumvent any intellectual property issues for commercial ZF users.[1]

[edit] 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, and StrikeIron.

[edit] Requirements

Zend Framework requires PHP 5.1.4 or later, although the ZF Programmer's Reference Guide strongly recommends 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.

[edit] Features

[edit] 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.[4]

[edit] Criticisms

Zend Framework implements interfaces for filtering and validation on it's Form components. The framework however lacks these interfaces on other components suitable to implement a true MVC design pattern where the validation would occur in the Model. The interfaces on the Form component aren't suitable for complex applications where a single model is use by multiple forms in the application.

[edit] See also

[edit] References

  1. ^ a b "Why ZF?" (2007). Retrieved on 2008-07-14.
  2. ^ Morgan, Oonagh (2005-10-19). "Zend Announces Industry-wide PHP Collaboration Project at its Inaugural PHP Conference". Zend Technologies. Retrieved on 2008-07-14.
  3. ^ Gutmans, Andi (2007-07-01). "Zend Framework 1.0 Released!". Retrieved on 2008-07-14.
  4. ^ "Zend Framework Contributor Guide" (07-01-2006). Retrieved on 2008-07-14.

[edit] External links


Personal tools