Zend Framework
Encyclopedia
Zend Framework is an open source
, object-oriented web application framework
implemented in PHP 5 and licensed under the New BSD License.
(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.
, 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
.
3.0 or later is required to run the unit tests shipped with Zend Framework. Many components also require PHP extensions.
Zend Technologies provides a PHP stack, Zend Server
(or Zend Server Community Edition), which is advertized to be optimized for running Zend Framework applications. Zend Server includes Zend Framework in its installers, along with PHP and all required extensions. According to Zend Technologies, Zend Server provides improved performance for PHP and especially Zend Framework applications through opcode acceleration and several caching capabilities, and includes application monitoring and diagnostics facilities.
Zend Studio is an IDE that includes features specifically to integrate with Zend Framework. It provides an MVC view, MVC code generation based on Zend_Tool (a component of the Zend Framework), a code formatter, code completion, parameter assist, and more.
Zend Studio is not free software, whereas the Zend Framework and Zend Server Community Edition are free.
Zend Server is compatible with common debugging tools such as Xdebug
.
Other developers may want to use a different PHP stack and another IDE such as Eclipse PDT which works well together with Zend Server. A preconfigured, free version of Eclipse PDT with Zend Debug is available on the Zend web site.
, 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.
announced that it would be working with technology partners including Microsoft
, IBM
, Rackspace
, Nirvanix
, and GoGrid
along with the Zend Framework community to develop a common API to cloud application services called the Simple Cloud API
. This project is part of Zend Framework and will be hosted on the Zend Framework website, but a separate site called simplecloudapi.org has been launched to discuss and download the most current versions of the API.
The Simple Cloud API and several Cloud Services are included in Zend Framework. The adapters to popular cloud services have reached production quality.
Additional changes to be completed before final release include the reduced reliance of __call magic methods, reduction of singleton classes (e.g. Zend\Controller\Front), and request based conditional module configuration in Zend\Application. The requirements of the MVC infrastructure of the next version of the framework are currently being discussed on its wiki.
Open source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
, object-oriented web application framework
Web application framework
A web application framework is a software framework that is designed to support the development of dynamic websites, web applications and web services. The framework aims to alleviate the overhead associated with common activities performed in Web development...
implemented in PHP 5 and licensed under the New BSD License.
Licensing
Zend Framework is licensed under the Open Source InitiativeOpen Source Initiative
The Open Source Initiative is an organization dedicated to promoting open source software.The organization was founded in February 1998, by Bruce Perens and Eric S. Raymond, prompted by Netscape Communications Corporation publishing the source code for its flagship Netscape Communicator product...
(OSI)-approved New BSD License, and all code contributors must sign a Contributor License Agreement
Contributor License Agreement
A Contributor License Agreement defines the terms under which intellectual property has been contributed to a company/project, typically software under an open source license.- Rationale :...
(CLA) based on the Apache Software Foundation
Apache Software Foundation
The Apache Software Foundation is a non-profit corporation to support Apache software projects, including the Apache HTTP Server. The ASF was formed from the Apache Group and incorporated in Delaware, U.S., in June 1999.The Apache Software Foundation is a decentralized community of developers...
’s CLA. The licensing and contribution policies were established to prevent intellectual property issues for commercial
Commerce
While business refers to the value-creating activities of an organization for profit, commerce means the whole system of an economy that constitutes an environment for business. The system includes legal, economic, political, social, cultural, and technological systems that are in operation in any...
ZF users, according to Zend's Andi Gutmans.
Sponsor and partners
Zend TechnologiesZend Technologies
Zend Technologies Ltd. is an Israeli world wide web infrastructure software company with headquarters in Cupertino, California, U.S., technology center in Ramat Gan, Tel Aviv, Israel and offices in France, Italy and Germany...
, co-founded by PHP core contributors Andi Gutmans
Andi Gutmans
Andi Gutmans is an Israeli programmer with Swiss roots, PHP developer and co-founder of Zend Technologies. A graduate of the Technion, the Israel Institute of Technology in Haifa, Gutmans and fellow student Zeev Suraski created PHP 3 in 1997...
and Zeev Suraski
Zeev Suraski
Zeev Suraski is an Israeli programmer, PHP developer and co-founder of Zend Technologies. A graduate of the Technion in Haifa, Israel, Suraski and fellow student Andi Gutmans created PHP 3 in 1997. In 1999 they wrote the Zend Engine, the core of PHP 4, and founded Zend Technologies, which has...
, is the corporate sponsor of Zend Framework. Technology partners include IBM, Google
Google
Google Inc. is an American multinational public corporation invested in Internet search, cloud computing, and advertising technologies. Google hosts and develops a number of Internet-based services and products, and generates profit primarily from advertising through its AdWords program...
, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
, Adobe Systems
Adobe Systems
Adobe Systems Incorporated is an American computer software company founded in 1982 and headquartered in San Jose, California, United States...
, and StrikeIron
Strikeiron
StrikeIron provides a cloud-based Data Quality Suite including email verification, address verification, phone validation, phone append, and sales tax calculation solutions. The company is based in Research Triangle Park, N.C. It was founded by Bob Brauer , Richard Holcomb , and Robert Dale in 2003...
.
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. Zend Framework 2.0 will require PHP 5.3. PHPUnitPHPUnit
PHPUnit is a unit testing software framework for the programming language PHP . Created by Sebastian Bergmann, PHPUnit is one of the xUnit family of frameworks that originated with Kent Beck's SUnit. PHPUnit is hosted at GitHub .- Purpose :...
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-willLoose couplingIn computing and systems design a loosely coupled system is one where each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. The notion was introduced into organizational studies by Karl Weick...
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 MariaDBMariaDBMariaDB is a community-developed branch of the MySQL database, the impetus being the community maintenance of its free status under GPL, as opposed to any uncertainty of MySQL license status under its current ownership by Oracle....
, MySQLMySQLMySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
, OracleOracle DatabaseThe Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....
, IBM DB2IBM DB2The IBM DB2 Enterprise Server Edition is a relational model database server developed by IBM. It primarily runs on Unix , Linux, IBM i , z/OS and Windows servers. DB2 also powers the different IBM InfoSphere Warehouse editions...
, Microsoft SQL ServerMicrosoft SQL ServerMicrosoft SQL Server is a relational database server, developed by Microsoft: It is a software product whose primary function is to store and retrieve data as requested by other software applications, be it those on the same computer or those running on another computer across a network...
, PostgreSQLPostgreSQLPostgreSQL, often simply Postgres, is an object-relational database management system available for many platforms including Linux, FreeBSD, Solaris, MS Windows and Mac OS X. It is released under the PostgreSQL License, which is an MIT-style license, and is thus free and open source software...
, SQLiteSQLiteSQLite is an ACID-compliant embedded relational database management system contained in a relatively small C programming library. The source code for SQLite is in the public domain and implements most of the SQL standard...
, and Informix Dynamic ServerInformix Dynamic ServerInformix Dynamic Server, also known as IDS, is an extensible Relational Database Management System originally developed by Informix Software Inc.... - Email composition and delivery, retrieval via mboxMboxmbox is a generic term for a family of related file formats used for holding collections of electronic mail messages. All messages in an mbox mailbox are concatenated and stored as plain text in a single file...
, MaildirMaildirThe Maildir e-mail format is a common way of storing e-mail messages, where each message is kept in a separate file with a unique name, and each folder is a directory...
, POP3 and IMAP4 - Flexible caching sub-system with support for many types of backends, such as memory or a file systemFile systemA file system is a means to organize data expected to be retained after a program terminates by providing procedures to store, retrieve and update data, as well as manage the available space on the device which contain it. A file system organizes data in an efficient manner and is tuned to the...
.
Building and running Zend Framework applications
Zend Framework applications can run on any PHP stack that fulfills the technical requirements.Zend Technologies provides a PHP stack, Zend Server
Zend Server
Zend Server refers to a PHP application server product line offered by Zend Technologies, released in early 2009 with production support available for Windows and Linux. It is available in two versions, Zend Server and Zend Server Community Edition. Zend Server is supported on x86 and x86-64...
(or Zend Server Community Edition), which is advertized to be optimized for running Zend Framework applications. Zend Server includes Zend Framework in its installers, along with PHP and all required extensions. According to Zend Technologies, Zend Server provides improved performance for PHP and especially Zend Framework applications through opcode acceleration and several caching capabilities, and includes application monitoring and diagnostics facilities.
Zend Studio is an IDE that includes features specifically to integrate with Zend Framework. It provides an MVC view, MVC code generation based on Zend_Tool (a component of the Zend Framework), a code formatter, code completion, parameter assist, and more.
Zend Studio is not free software, whereas the Zend Framework and Zend Server Community Edition are free.
Zend Server is compatible with common debugging tools such as Xdebug
Xdebug
Xdebug is a PHP extension which provides debugging and profiling capabilities. It uses the DBGp debugging protocol.The debug information that Xdebug can provide includes the following:* stack and function traces in error messages with:...
.
Other developers may want to use a different PHP stack and another IDE such as Eclipse PDT which works well together with Zend Server. A preconfigured, free version of Eclipse PDT with Zend Debug is available on the Zend web site.
Code, documentation, and test standards
Code contributions to Zend Framework are subject to rigorous code, documentationDocumentation
Documentation is a term used in several different ways. Generally, documentation refers to the process of providing evidence.Modules of Documentation are Helpful...
, and test standards. All code must meet ZF’s coding standards and unit tests must reach 80% code coverage
Code coverage
Code coverage is a measure used in software testing. It describes the degree to which the source code of a program has been tested. It is a form of testing that inspects the code directly and is therefore a form of white box testing....
before the corresponding code may be moved to the release branch.
Simple Cloud API
On September 22, 2009, Zend TechnologiesZend Technologies
Zend Technologies Ltd. is an Israeli world wide web infrastructure software company with headquarters in Cupertino, California, U.S., technology center in Ramat Gan, Tel Aviv, Israel and offices in France, Italy and Germany...
announced that it would be working with technology partners including Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
, IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
, Rackspace
Rackspace
Rackspace US, Inc. is an IT hosting company based in San Antonio, Texas. The company also has offices in Australia, the United Kingdom, The Netherlands and Hong Kong, and data centers operating in Texas, Illinois, Virginia, the United Kingdom, and Hong Kong in late 2008...
, Nirvanix
Nirvanix
Nirvanix was one of the first Internet storage services and is now a cloud storage provider. Its current flagship product, Nirvanix Storage Delivery Network or Nirvanix SDN is a 'web-based platform for developers enabling quick and easy integration of scalable storage and delivery into any...
, and GoGrid
GoGrid
GoGrid is a cloud infrastructure service, hosting Linux and Windows virtual machines managed by a multi-server control panel and a RESTful API. GoGrid is privately held and competes in the dedicated hosting space against Rackspace and in the cloud computing hosting space with those listed in the...
along with the Zend Framework community to develop a common API to cloud application services called the Simple Cloud API
Simple Cloud API
-Announcement:On September 22, 2009, Zend Technologies announced the Simple Cloud API project for improving portability of PHP applications across all major cloud computing platforms...
. This project is part of Zend Framework and will be hosted on the Zend Framework website, but a separate site called simplecloudapi.org has been launched to discuss and download the most current versions of the API.
The Simple Cloud API and several Cloud Services are included in Zend Framework. The adapters to popular cloud services have reached production quality.
Future development
The first development release of Zend Framework 2.0 was released on August 6, 2010. Changes made in this release were the removal of require_once statements, migration to PHP 5.3 namespaces, a refactored test suite, a rewritten Zend\Session, and the addition of the new Zend\Stdlib. The second development release was on November 3, 2010Additional changes to be completed before final release include the reduced reliance of __call magic methods, reduction of singleton classes (e.g. Zend\Controller\Front), and request based conditional module configuration in Zend\Application. The requirements of the MVC infrastructure of the next version of the framework are currently being discussed on its wiki.
See also
- Comparison of web application frameworksComparison of web application frameworksThis is a comparison of notable web application frameworks.-Perl:-PHP:-Java:-Python:-Ruby:-CFML :-ASP.NET:-Other:-ASP.NET:-C++:-CFML:-Python:-Java:-PHP:-Ruby:-Others:...
- New BSD License
- Zend ServerZend ServerZend Server refers to a PHP application server product line offered by Zend Technologies, released in early 2009 with production support available for Windows and Linux. It is available in two versions, Zend Server and Zend Server Community Edition. Zend Server is supported on x86 and x86-64...
- Zend StudioZend StudioZend Studio is a commercial, proprietary integrated development environment for PHP developed by Zend Technologies, based on the PHP Development Tools plugin for the Eclipse platform ....
External links
- Official Website
- Zend Framework by Examples (ZfEx)
- Zend Framework IRC Channels
- Zend Framework news, links and tutorials