Zend Framework
From Wikipedia, the free encyclopedia
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (January 2008) |
Developed by | Zend Technologies |
---|---|
Latest release | 1.7.1 / 01 December 2008 |
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
- 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.
[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
- ^ a b "Why ZF?" (2007). Retrieved on 2008-07-14.
- ^ Morgan, Oonagh (2005-10-19). "Zend Announces Industry-wide PHP Collaboration Project at its Inaugural PHP Conference". Zend Technologies. Retrieved on 2008-07-14.
- ^ Gutmans, Andi (2007-07-01). "Zend Framework 1.0 Released!". Retrieved on 2008-07-14.
- ^ "Zend Framework Contributor Guide" (07-01-2006). Retrieved on 2008-07-14.
[edit] External links
|
|