Zend Framework
Encyclopedia
Zend Framework is an open source
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 Initiative
Open 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 Technologies
Zend 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. PHPUnit
PHPUnit
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-will
    Loose coupling
    In 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 MariaDB
    MariaDB
    MariaDB 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....

    , MySQL
    MySQL
    MySQL 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...

    , Oracle
    Oracle Database
    The Oracle Database is an object-relational database management system produced and marketed by Oracle Corporation....

    , IBM DB2
    IBM DB2
    The 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 Server
    Microsoft SQL Server
    Microsoft 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...

    , PostgreSQL
    PostgreSQL
    PostgreSQL, 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...

    , SQLite
    SQLite
    SQLite 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 Server
    Informix Dynamic Server
    Informix 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 mbox
    Mbox
    mbox 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...

    , Maildir
    Maildir
    The 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 system
    File system
    A 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, documentation
Documentation
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 Technologies
Zend 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, 2010

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.

See also

  • Comparison of web application frameworks
    Comparison of web application frameworks
    This 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 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...

  • Zend Studio
    Zend Studio
    Zend 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


Tutorials

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK