Chat with us, powered by LiveChat
Hypertext Preprocessor | PHP | Part 3

Hypertext Preprocessor | PHP | Part 3

Zend Framework

Zend Framework (ZF) is an open source framework for developing web applications and web services with PHP 5. ZF is an implementation that uses code 100% object oriented. The component structure of ZF is somewhat unique, because each component is built with a low dependency on other components. This loosely coupled architecture allows developers to use components separately. Often it is referred to this type of design as “use-at-will”.

Although they can be used individually, the components of Zend Framework standard library form a powerful and extensible framework for web applications when combined. ZF offers great performance and a robust MVC implementation, a database abstraction easy to use, and a forms component that implements the delivery of HTML forms, validating and filtering so that developers can consolidate all operations using one way simple object-oriented interface. Other components, such as Zend_Auth and Zend_Acl, provide user authentication and authorization different stores stock certificates. There are also components that implement client libraries to easily access the most popular web services. Whatever the needs of your application, you have every chance of finding a Zend Framework component that can be used to dramatically reduce development time, with a completely solid base.

The main project sponsor is Zend Technologies Zend Framework, but many companies have contributed with important features or components for the frame. Companies like Google, Microsoft, and StrikeIron have partnered with Zend to provide web services interfaces and other technologies that wish to make available to developers Zend Framework.

Zend Framework is a web application framework, being open source, object oriented, implemented in PHP 5, and licensed as New BSD License. Zend Framework-often referred to as ZF-is developed with the goal of simplifying web development while promoting best practice in the community of PHP developers. The architecture-at-will use the ZF allows developers to reuse components when and where they make sense in their applications without requiring other components beyond minimal dependencies on Zf.

There is therefore no paradigm or pattern that all Zend Framework users must follow, although ZF supplies components to the design patterns MVC and Table Gateway that 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 input for security and integrity of data, internationalization, interfaces to AJAX functionality, composition / mail delivery, indexing and querying in a search format, and all Google Data APIs with many other popular web services. Because of their loosely coupled design, the ZF components can be used in order for the hand of third party PHP web application frameworks.

Zend Framework was conceived in early 2005 while many new frameworks such as Ruby on Rails and Spring Framework, were gaining popularity in the web development community. ZF was first announced publicly in the Zend Conference. At the same time, no framework has been used widely available to the PHP community to completely fill similar web development needs. The designers of the Zend Framework sought to combine features of end-use and rapid application development (RAD) of these new frameworks with the simplicity, openness and practicality of the real world that is highly valued in the PHP community.

Typically, usage scenarios specific development are implemented using more generic software components via automatic configuration and / or code generation. The Zend Framework community has opted for the complete development and testing of key components before starting work on simplifying development tasks such as database migration, generation of scaffolding, configuration and project creation.

This practice has been subject to some criticism since some features considered by many as necessary for a general release for modern web application frameworks were Dexi for future releases of Zend Framework. ZF Many users, however, have found such generic software components more reusable and extensible implementation of their applications. Zend Framework also seeks to promote best practices for web development in PHP community, conventions are not as commonly used in ZF as in many other frameworks. Appropriately suggestions are replaced by reasonable standards of configuration that can be overridden by each specific requirement of applying ZF.

Zend Framework – Licensing

Zend Framework is licensed under 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 policies and contribution have been established to thwart any intellectual property issues for business users ZF.

Zend Framework – Sponsors and partners

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

Zend Framework – Requirements

Zend Framework requires PHP 5.1.4 or higher, although the Programmer’s Reference Guide Zend Framework PHP 5.2.4 or higher recommended for performance and security improvements included among these versions of PHP. PHPUnit 3.0 or higher is required to run the test unit shipped with Zend Framework. Many components also require PHP extensions, a complete list of components and their dependencies can be found in the Programmer’s Reference Guide.

Zend Framework – Releases

The Zend Framework releases are versioned with three numbers in the format xyz, where a change in x, y, or z corresponds to the larger and smaller mini releases, respectively. The first General Availability release of ZF was launched on 30/06/2007 as Zend Framework 1.0. The latest release is 1.10.8, which was made available for download on 28/04/2010.

Zend Framework – Features

  • All components are completely PHP 5 object-oriented and has compliance with AND STRICT
  • Architecture-to-use comfortable with loose coupling of components and minimum inter-dependencies
  • MVC implementation supports layouts and extensible template-based PHP by default
  • Implementation of Flexible Table Gateway to access data from a relational database into an object-oriented environment
  • Support for multiple database systems including MySQL, Oracle, IBM DB2, Microsoft SQL Server, PostgreSQL, SQLite, and Informix Dynamic Server
  • Authentication and authorization based on the ACL using a variety of back-end systems
  • Filter data validation and to strengthen the security of the application
  • Session Management
  • Component configuration to promote a consistent configuration management across applications and ZF Zend Framework
  • Composition and mail delivery, recovery via mbox, Maildir, POP3 and IMAP4
  • Indexing and searching that supports the Lucene index file format
  • Internationalization and Localization
  • Creating forms using PHP, or XML configuration files
  • Identity 2.0 technologies such as OpenID and Microsoft InfoCard
  • Multiple formats for web services, inclundo XML-RPC, REST, GData and Google.
  • Flexible caching subsystem with support for many kinds of backends, such as memory or a file system.
  • Component inspired by simple logging log4j
  • Component native PHP to read, update and creation of PDF documents
  • Serializing PHP data structures to JSON and to facilitate the development AJAX
  • API for consuming RSS and Atom feeds
  • Client libraries for many repositories of web services including Amazon E-Commerce Service, Akismet, del.icio.us, Flickr, StrikeIron, Yahoo, Audioscrobbler, and Simpy.

Code, documentation, and test patterns

Contributions of code to the Zend Framework are subject to a strict code, documentation, and test patterns. All code must meet the standards of coding and unit testing should reach 80% code coverage before the corresponding code can be moved to the brand of release.

Study: From Wikipedia, the free encyclopedia. The text is available under the Creative Commons.

Sharing

Leave your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.