Home > {{category.CategoryName}} > Zend Framework 2
Zend Framework 2 PHP App

Zend Framework 2

by Zend

PHP application developing framework
Helps with: PHP
Similar to: ThinkPHP App Yii 2.0 App Flow App Silex App More...
Source Type: Open
License Types:
Supported OS:
Languages: Other

What is it all about?

Zend Framework 2 is an open source PHP framework for developing applications and services using PHP 5.3+. Zend Framework 2 uses object-oriented code and utilises most of the new features of PHP 5.3, namely namespaces, late static binding, lambda functions and closures.

Key Features

* Modular: Building blocks that can be used piece by piece with other applications or frameworks. * Secure: All the cryptographic and secure coding tools you need to do things right. * Extensible: Easy to adapt the framework to your needs. * Community: A vibrant and active contributor and user base for getting help and giving back. * High Performing: Engineered with performance tuning in mind. * Enterprise Ready: A proven history of success running business critical and high-usage applications.


Trial With Card
Trial No Card
By Quote


free -- see site

Product Analysis


PHP frameworks and libraries

Zend Framework 2 review

Zend Framework 2 review

By Alvie Amar | 6/6/2016 | Product Analysis |Beginners

 Zend Framework is an open source, object oriented web application structure for PHP 5. Zend Framework is regularly called a 'component library', since it has numerous inexactly coupled components that you can utilize pretty much autonomously. In any case, Zend Framework additionally gives a propelled Model-View-Controller (MVC) usage that can be utilized to build up a fundamental structure for your Zend Framework applications.


Zend Framework 2.0, or ZF2 for short, is the most recent upgrade to the well-known Zend Framework. This rendition has extensively facilitated the procedure of building complex web applications with minimal development effort using plug and play components. Zend Framework 2.0 additionally offers a highly robust and scalable framework for developing web applications.


Zend Framework 1 depends on MVC while Zend Framework 2 depends on MOVE. MOVE = Model Operations Views Events, MVC = Models Views Controllers. Zend Framework 2 utilizes 100% object-oriented code and makes use of the majority of the new components of PHP 5.3, to be specific: namespaces, late static authoritative, lambda functions and closures.


The principal advanced release of Zend Framework 2.0 was released on the 6th of August 2010. Changes made in this release were to eliminate require_once explanations, movement to PHP 5.3 namespaces, a refactored test suite, a reworked Zend/Session, and the expansion of the new Zend/Stdlib. The second advanced release was on the 3rd of November 2010.


The main stable arrival of the Zend Framework 2.0 was released on the 5th of September 2012.


Zend Framework features include:

  • All components are completely object-oriented PHP 5 and are E_STRICT consistent, which helps in the improvement of building tests and debugging.
  • Extensible MVC usage supporting designs, layouts  and PHP-based formats naturally
  • Support for numerous database systems and vendors
  • A capable module management system


Note: Zend Framework 2 is not in backward compatible with Zend Framework 1, on account of the new elements in PHP 5.3+ that are actualized by the framework, and because of significant changes of numerous components.


What is Zend Framework 2.0 good for?


Zend Framework is not the only web advancement structure. Zend Framework 2 is situated as a decent structure for corporate applications because of its pattern-based design and scalability. In any case, you can utilize ZF2 in any-sized web application and achieve awesome results.


Zend Framework 2 gives you the following capabilities:

  • Build up your site much faster than when you compose it in pure PHP. Zend Framework 2 gives numerous components that can be utilized as a code base for creating your site.
  • Compose secure web sites with Zend Framework 2 which provides components such as form input filters and validators, HTML yield escapees and cryptographic calculations.
  • Retrieving databases in an object-oriented method. Rather than directly querying the database using SQL queries, you can utilize Doctrine Object-Relational Mapping (ORM) to deal with the structure and connections between your data.
  • Scale your web site with the idea of modules. Zend Framework 2 utilizes the term module, which pertains to partitioned decoupled website parts. In this way, it allows you to reuse models, perspectives, controllers and resources in your site in different works.


Zend Framework 2 furnishes you with the so called "skeleton application" to make it less demanding to build new applications from scratch.


Examples and Code Snippets


Now, we will try some simple examples with some clarification of the new modules systems in Zend Framework 2. We should work through some code and get a feel for how to make one.


Let’s assume that your already setup and have ZF2 running smoothly. This time, we will try to work Zend Framework 2 using module systems. Check the example below.


Example: “Contact Us” Form. An example of a typical HTML form is presented below:

<form name="contactform" action="/contactus" method="post">

<label for="email">Enter email address: </label>

<input name="email" type="text">


<label for="subject">Enter subject:</label>

<input name="subject" type="text">


<label for="body">Enter message:</label>

<textarea name="body" class="form-control" rows="6"></textarea>


<input name="submit" type="submit" value="Submit">


In the case above, we have the input structure which permits the client to enter his E-mail address, message subject, content, and after that submit them to the server.


The following step will give a diagram of standard filters that can be used with your forms. A filter is a class which takes some information, forms it, and creates some output information.

1| <?php

2| namespace Zend\Filter;


4| interface FilterInterface

5| {

6| // Returns the result of filtering $value.

7| public function filter($value);

8| }


As you can see, the FilterInterface interface has the single strategy filter() (line 7), which takes the single parameter $value. The technique changes the input data and lastly gives back the subsequent (filtered) value.

1 | <?php

2 | namespace Zend\Validator;

3 |

4 | interface ValidatorInterface

5 | {

6 | // Returns true if and only if $value meets the validation requirements.

7 | public function isValid($value);

8 |

9 | // Returns an array of messages that explain why

10| // the most recent isValid() call returned false.

11| public function getMessages();

12| }


 In the sample code above, the ValidatorInterface has two methods which are the isValid() method (line 7) and getMessages() method(line 11). The first, isValid() method, is proposed to perform the check of the values that is inputted (the $value parameter). On the off chance that the validation of the $value passes, the isValid() method returns boolean true and in the event that the $value comes up fails validation, then this strategy returns false.

1 |  // Optionally, define a short alias for the validator class name.

2 |   use Zend\Validator\EmailAddress;

3 |   use Zend\Validator\Hostname;

4 |   

5 |   // Create an instance of the validator, passing options to the constructor.

6 |   $validator = new EmailAddress(array(

7 |   'allow' => Hostname::ALLOW_DNS|Hostname::ALLOW_IP|Hostname::ALLOW_LOCAL,

8 |  'mxCheck' => true,

9 |   'deepMxCheck' => true

10|   ));


12|  // Validate an E-mail address.

13|  $isValid = $validator->isValid('name@example.com'); // Returns true.

14|  $isValid2 = $validator->isValid('abc'); // Returns false.


16|  if(!$isValid2) {

17|  // Get error messages in case of validation failure.

18|  $errors = $validator->getMessages();

19|  }

In the code above, we make the EmailAddress validator object with the assistance of the new operator (line 7). We pass the array of alternatives to the constructor. We utilize the permit key to allow an E-mail location to be a domain name, an IP location or local network address. Likewise, we utilize the mxCheck and deepMxCheck to empower MX record check and profound MX record check, individually.




This concludes our brief look at building a simple application using Zend Framework 2. So, there you have it. I hope you found this article to one of the key parts of Zend Framework 2 to be helpful. The most vital part of applications found in Zend Framework 2 are the modules, the building blocks of any MVC ZF2 application. To encourage the use of conditions inside our applications, we will use the service manager. To have the ability to framework solicitation to controllers and their exercises, we use routes.  Zend Framework 2 is also one of the easiest frameworks to learn however for a seversl reasons, it does not have a vocal or large community. However the documentation can help you with everything you need to know about Zend Framework 2.

By Alvie Amar | 6/6/2016 | Product Analysis

{{CommentsModel.TotalCount}} Comments

Your Comment


Top DiscoverSDK Experts

User photo
Ashton Torrence
Web and Windows developer
GUI | Web and 11 more
View Profile
User photo
Ronan McCarthy
Cross-Platform & Web developer.
Web | Mobile and 6 more
View Profile
User photo
Gary Green
Expert programmer, Ask what you want
Web | JavaScript and 3 more
View Profile
User photo
Harry Gold
Experienced Web developer.
Web | JavaScript and 3 more
View Profile
Show All

Interested in becoming a DiscoverSDK Expert? Learn more


Compare Products

Select up to three two products to compare by clicking on the compare icon () of each product.


Now comparing:

{{product.ProductName | createSubstring:25}} X
Compare Now