Call Us : +91 9048440922

What Zend Framework can do for us

Attention: open in a new window. PDFPrintE-mail

What is a Web Application?

We must first understand what a “Web Application” is, before we go through “Web Application Framework”. “Web Application” is any website that is complex enough to have its own database, or administration system. These are also known as “dynamic websites”. Websites with fixed HTML pages are generally known as “static websites”.

Some examples of Web Applications include Content Management Systems, where the operator of the site is able to login to the website and change content, E-Commerce sites where users can purchase products, and social networking sites, where users can chat and interact with each other.

 

Why a Web Application Framework?

Web Application Frameworks has two main advantages. The first is it provide a structure to bulid website. This helps greatly with organisation of code as it allows different sections of the website to be split up into different areas. This help us to kep separate the application code and HTML code.

The second main advantage is that a framework provides a lot of functionality out of the box which a lot of web applications will utilise. This saves the developer time as they do not have to develop it themselves for each different project they work on. In most cases, the framework’s functionality will be flexible enough to meet the needs of the developer, but if not, most frameworks allow the user to pick and choose which of the framework’s built-in components they can use.

Why Zend Framework?

Zend Framework is my favourite MVC and I am its big fan. Flexibility it offers is the best aspect from my point of view. Unlike some frameworks, you don’t have to use the complete package. Instead you can pick and choose which bits to use and plug it together with your own classes to get a complete product that meets your particular needs.

Zend Framework is a simple, straightforward, object oriented, open-source software framework developed by Zend. All components are fully object-oriented PHP5. Its Model View Controller (MVC) implementation supports layouts and PHP-based templates by default. Zend Framework has support for multiple database systems including MySQL, Oracle, Microsoft SQL Server and PostgreSQL. Zend Framework is also called ZF. The Zend Framework is a powerful open source web application framework for developing PHP 5 web application.


Advantages of using Zend Framework:
• Completely Object Oriented
• Extremely extensible by providing fluent interfaces and abstract classes
• Rich library for frequent usage in applications
• Future expansion scopes

There are many Web Frameworks available for PHP . The most popular are CakePHP, Zend Framework, CodeIgniter and Symphony. The disadvantage of choosing a less popular framework is that they will not be supported well; not as many plugins or modules will be available for it and it could be less stable due to fewer people taking an interest in its development.

Developing a website in any of the most popular frameworks will have its advantages, but in particular Zend Framework shines for the following reasons:

  • It’s developed by Zend, who also develop PHP itself.
  • It supports all of the features of the latest version of PHP, unlike CakePHP which still targets the previous version.
  • Developers can use components from the framework without actually developing in the framework structure.
  • It is designed to be as flexible as possible.
  • It is very easy to produce search engine friendly URLs.
  • The sheer amount of built-in functionality.

( application structure )

Zend Framework & MVC

Zend Framework is an open source, object oriented web application framework for PHP 5.Basically ZF is componet library. Its components are loosley coupled and you can use more or less independently. Framework applications are built on an advanced Model-View-Controller (MVC) implementation. Framework's most commonly used components are:

  • Zend_Controller
  • Zend_Layout
  • Zend_Config
  • Zend_Db
  • Zend_Db_Table
  • Zend_Registry

Using these components, we can easily develop a database-driven application.

Model-View-Controller

So what exactly is this MVC pattern everyone keeps talking about, and why should you care? MVC is much more than just a three-letter acronym (TLA) that you can whip out anytime you want to sound smart; it has become something of a standard in the design of modern web applications. And for good reason. Most web application code falls under one of the following three categories: presentation, business logic, and data access. The MVC pattern models this separation of concerns well. The end result is that your presentation code can be consolidated in one part of your application with your business logic in another and your data access code in yet another. Many developers have found this well-defined separation indispensable for keeping their code organized, especially when more than one developer is working on the same application.

Note: More Information

Let's break down the pattern and take a look at the individual pieces:
  • Model - This is the part of your application that defines its basic functionality behind a set of abstractions. Data access routines and some business logic can be defined in the model.

  • View - Views define exactly what is presented to the user. Usually controllers pass data to each view to render in some format. Views will often collect data from the user, as well. This is where you're likely to find HTML markup in your MVC applications.

  • Controller - Controllers bind the whole pattern together. They manipulate models, decide which view to display based on the user's request and other factors, pass along the data that each view will need, or hand off control to another controller entirely.

  • Zend_Application
  • Zend_Application_Bootstrap
  • Zend_Application_Module
  • Zend_Application_Resource
  • Zend_Controller_Front
  • Zend_Controller_Action
  • Zend_Controller_Dispatcher
  • Zend_Controller_Plugin
  • Zend_Controller_Router
  • Zend_Form
  • Zend_Layout
  • Zend_View
  • Zend_View_Filter
  • Zend_View_Helper

The above components make use of the industry standard web application design pattern MVC (which originated with one of the first scripting languages ever built, Smalltalk), and allows developers and web designers to separate their concerns and skills, making code implementation and design easily and clearly separated. No more confusion or needing both skill sets in one person.

Tooling and Rapid Application Development (RAD)

  • Zend_CodeGenerator
  • Zend_Reflection
  • Zend_Tool_Framework
  • Zend_Tool_Project

One of the most tedious tasks in any project is the initial application setup. Zend_Tool provides tooling support and a command-line client that allows you to generate your project structure, MVC artifacts, and more. Start writing your application immediately, instead of manipulating your directory tree.

Database

  • Zend_Db
  • Zend_Db_Adapter
  • Zend_Db_Profiler
  • Zend_Db_Select
  • Zend_Db_Table

Again using standard database programming best practices, data adapters for all major databases abstract away the details, so you can build your application (domain of your business) models on whatever database engine you need.

Internationalization (i18n) and Localization (l10n)

  • Zend_Currency
  • Zend_Date
  • Zend_Locale
  • Zend_Measure
  • Zend_Translate

In an increasingly global economy, localizing your application for a particular language and culture is imperative, not an afterthought. Do that easily, whenever you're ready to expand your markets, with Zend Framework's support for internationalization (i18n).

Authentication, Authorization, and Session management

  • Zend_Acl
  • Zend_Auth
  • Zend_Session

Virtually all web applications have some user-specific data that must be customized, and usually, protected from access by other users. Accomplish this quickly and easily with the above features of Zend Framework.

Web and Web Services

  • Consuming services:
    • Zend_Feed
    • Zend_Gdata
    • Zend_Http_Client
    • Zend_Rest_Client
    • Zend_Service
    • Zend_XmlRpc_Client
  • Exposing services:

    • Zend_Amf_Server
    • Zend_Json_Server
    • Zend_Server_Definition
    • Zend_Server_Reflection
    • Zend_Rest_Server
    • Zend_Soap_Server
    • Zend_XmlRpc_Server

Web services are an integral part of Zend Framework and we intend for Zend Framework to be the nexus for and entire eco-system of Web Services and APIs providers. We currently have partnered with Google, Microsoft, and StrikeIron and they have built support for their services into Zend Framework. More are coming soon.

Mail, Formats, and Search

  • Zend_Json
  • Zend_Mail, Zend_Mime
  • Zend_Pdf
  • Zend_Search_Lucene

Web 2.0 applications require support for Ajax, PDF generation, e-mail communication, and search, all an increasingly important part of web applications today. Zend Framework simplifies a developers life and gives you built-in support for these essential, if not critical, features for your application.

Core Infrastructure

  • Zend_Cache
  • Zend_Config
  • Zend_Console_Getopt
  • Zend_Debug
  • Zend_Filter
  • Zend_Loader
  • Zend_Loader_Autoloader
  • Zend_Log
  • Zend_Memory
  • Zend_Registry
  • Zend_Validate
  • Zend_Version

Zend Framework is a broad library of loosely-coupled, yet highly cohesive pieces that support many of the other features you might need for a web application. From logging for tracking and debugging your application in production, caching for high performance, filtering for more secure and safe applications, to all the other little pieces that make a web application developer's life easy, Zend Framework provides all this, plus a vast community, a company standing behind and sponsoring development, and a large number of talented developers who know how to build Zend Framework applications from the ground up.

Reference :- http://framework.zend.com


Warning: Creating default object from empty value in /home/leelahos/public_html/libraries/joomla/application/module/helper.php on line 162

Warning: Creating default object from empty value in /home/leelahos/public_html/libraries/joomla/application/module/helper.php on line 162

Latest Articles

cPanel Announced the Launch o...

cPanel Announced the Launch of 11.34 cPanel Announces the ....

Why your company needs a Priv...

Why do you need a private chat server There are various ....

Customer Quotes

  • Arun Christudas
    Twitacc.com

    They have worked on many of my projects - from redesigning a few web pages to designing a complete website site and I must say, their designs are incredible and their work is of top quality. These guys are sensible and sure knows what they do. Would recommend to any one looking for web designing & development.