SlideShare a Scribd company logo
Zend Framework
Introduction to Framework
What does a Framework mean?
• It’s a concrete platform where the common code to be
  executed in entire application can be kept which targets
  the maintainable, Reusable and scalable application.

• A framework is an abstraction of the software code
  which can be selectively overridden.

• Framework takes the form of libraries, where a well-
  defined application program interface (API) is reusable
  anywhere within the software under development.
Principles of a Framework
• Control over the flow: Instead of user’s (programmer’s) custom execution of
  flow, Framework must have the control over the flow.

• Default behavior: Application has to work even without any customization of
  code with default configuration.

• Extendable: Programmer should have the ability to extend the framework
  code

• Non-changeable: User can extend the framework code but not allowed to
  change the core framework code

• Compatible: Framework should be in such a way that Application should not
  be crashed even we upgrade framework version. (Latest framework has to
  work even with the older programming language versions)

• Portable: Application developed on framework has to support multiple
  environments (Ex: Different databases and servers like IIS, Apache)
Advantages over traditional programming
• As frameworks are designed to target reusable code for quick
  development, lot of development efforts and time are reduced.

• Using frameworks, the developers can spend more time on
  functionality development of the application than preparing the
  environment. This helps them to build defect free software
  applications.

• Application Code is clean and neat as we follow standard of the
  software framework

• Frameworks help you to develop the project rapidly, if you know
  one framework well then you’ll never worry about the project
  deadline.
Disadvantages:

• Learning curve is involved in understanding the different
  frameworks.
• Preferable to use for large scale application because for small
  application, core programming language is faster than the
  framework.
Frameworks available in the market:
•   Zend
•   Cake PHP
•   Code Igniter
•   Symfony
•   Yii
Zend framework:
• Open-source software framework for PHP 5.
• Its strength is in its highly-modular MVC design, making your code
  more reusable and easier to maintain.
History of Zend
• Zend framework is started by Andi Gutmans and Zeev Suraski, one
  of the most influential persons that started PHP 3.
• Launched in year 2006 with the preview release of 0.1.3 .
• Latest version - 2.0 beta release
Popular products developed on Zend
                   Framework
• Magento, which is one of popular open source shopping cart
• McAffee company website
• IBM company website
Advantages over other frameworks

• Highly flexible: We can extend all most all the framework
  classes
• Loosely coupled: We can delete the components or modules
  which we don’t want in our application. It is highly modular.
• Scalable: Can be developed high performance application as
  entire library won’t be loaded for each request.
• Easy to test: PHPUnit is integrated with Zend framework.
• Compatible with different databases (Db2, Mysql, Oracle and
  MSSql)
Structure of Zend framework
Security in Zend framework

• Sql security: Zend framework has the Database abstraction
  layer which contains many escaping functions so no need to
  bother about sql injection attacks.
• It’s having different APIs to handle queries
        • Zend_Db
        • Zend_Db_Statement
        • Zend_Db_Select
        • Zend_Db_Table
Cross Site Request Forgery (CSRF) Protection:
• Protections against CSRF attacks are usually based on secret,
    session depended form tokens
<?php
Class My_Form extends Zend_Form
{
  function __construct()
  {
         parent::__construct();
         $this->addElement('hash', 'csrf_token',
            array('salt' => get_class($this) .
         's3cr3t%Ek@on9!'));
  }
}
?>
Session Management Configuration:
• Configuration has big influence on security.
• Zend_Session providing different options to configure session
   parameters’ .
• It supports SSL to avoid session hijacking.
<?php
Zend_Session::setOptions(array(
 /* SSL server */ 'cookie_secure' => true,
 /* own name        */ 'name'       => 'mySSL',
 /* own storage */ 'save_path'        => '/sessions/mySSL',
 /* XSS hardening */ 'cookie_httponly' => true,
 /* short lifetime */ 'gc_maxlifetime' => 15 * 60
                ));
Zend_Session::start();
?>
Security from XSS :
A number of classes, primarily within the
Zend_Form, Zend_Filter, Zend_Form, Zend_Log and Zend_View
components, contained character encoding inconsistencies whereby
calls to the htmlspecialchars() and htmlentities() functions used
undefined or hard coded charset parameters.
Different Design patterns used in Zend
                       framework
•   Zend_Controller_Front
     – Singleton
•   Zend_Db_Adapter
     – Abstarct factory pattern
•   Zend_Db_Table
     – Table Data Gateway
•   Zend_Db_Table_Row
•   Row Data gateway
•   Zend_Log
     – Factory Method
     – Adapter
     – Composite
•   Zend_Form
     – Composite
     – Decorators
•   Zend_Filter and Zend_Validator
     – Strategy
References
http://www.techopedia.com/definition/14384/software-framework
http://en.wikipedia.org/wiki/Software_framework
http://www.net-security.org/secworld.php?id=8697
http://www.php-developer.org/most-used-php-framework-the-
popular-top-7-list-in-year-2011/
http://net.tutsplus.com/tutorials/php/10-compelling-reasons-to-
use-zend-framework/
Ad

Recommended

MVC with Zend Framework
MVC with Zend Framework
webholics
 
Building Web Applications with Zend Framework
Building Web Applications with Zend Framework
Phil Brown
 
Zend framework 02 - mvc
Zend framework 02 - mvc
Tricode (part of Dept)
 
Require.JS
Require.JS
Ivano Malavolta
 
Code igniter overview
Code igniter overview
umesh patil
 
A Good PHP Framework For Beginners Like Me!
A Good PHP Framework For Beginners Like Me!
Muhammad Ghazali
 
When to use and when not to use AngularJS - Liju Pillai, www.perfomatix.com
When to use and when not to use AngularJS - Liju Pillai, www.perfomatix.com
Perfomatix Solutions
 
Introduction to require js
Introduction to require js
Ahmed Elharouny
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0
Shiju Varghese
 
Require JS
Require JS
Imaginea
 
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
Manolis Vavalis
 
Exploring AngularJS - Liju Pillai
Exploring AngularJS - Liju Pillai
Liju Pillai
 
ASP .NET MVC
ASP .NET MVC
eldorina
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0
Shiju Varghese
 
Php Frameworks
Php Frameworks
Ryan Davis
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 
Why Zend Framework? - Meetup event!
Why Zend Framework? - Meetup event!
AJINKYA N
 
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
PawanMM
 
ASP.NET MVC 3
ASP.NET MVC 3
Buu Nguyen
 
Session 31 - Session Management, Best Practices, Design Patterns in Web Apps
Session 31 - Session Management, Best Practices, Design Patterns in Web Apps
PawanMM
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
Ch. 7 beeing a jsp
Ch. 7 beeing a jsp
Manolis Vavalis
 
Cqrs.frameworks
Cqrs.frameworks
Agata Piórkowska
 
Ch. 9 jsp standard tag library
Ch. 9 jsp standard tag library
Manolis Vavalis
 
Ch. 11 deploying
Ch. 11 deploying
Manolis Vavalis
 
Panada: An Introduction by Iskandar Soesman
Panada: An Introduction by Iskandar Soesman
k4ndar
 
Asp.net mvc
Asp.net mvc
Naga Harish M
 
MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
Vforce Infotech
 
Zend
Zend
marcosTedsys
 

More Related Content

What's hot (20)

Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0
Shiju Varghese
 
Require JS
Require JS
Imaginea
 
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
Manolis Vavalis
 
Exploring AngularJS - Liju Pillai
Exploring AngularJS - Liju Pillai
Liju Pillai
 
ASP .NET MVC
ASP .NET MVC
eldorina
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0
Shiju Varghese
 
Php Frameworks
Php Frameworks
Ryan Davis
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 
Why Zend Framework? - Meetup event!
Why Zend Framework? - Meetup event!
AJINKYA N
 
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
PawanMM
 
ASP.NET MVC 3
ASP.NET MVC 3
Buu Nguyen
 
Session 31 - Session Management, Best Practices, Design Patterns in Web Apps
Session 31 - Session Management, Best Practices, Design Patterns in Web Apps
PawanMM
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
Ch. 7 beeing a jsp
Ch. 7 beeing a jsp
Manolis Vavalis
 
Cqrs.frameworks
Cqrs.frameworks
Agata Piórkowska
 
Ch. 9 jsp standard tag library
Ch. 9 jsp standard tag library
Manolis Vavalis
 
Ch. 11 deploying
Ch. 11 deploying
Manolis Vavalis
 
Panada: An Introduction by Iskandar Soesman
Panada: An Introduction by Iskandar Soesman
k4ndar
 
Asp.net mvc
Asp.net mvc
Naga Harish M
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0
Shiju Varghese
 
Require JS
Require JS
Imaginea
 
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
4η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού
Manolis Vavalis
 
Exploring AngularJS - Liju Pillai
Exploring AngularJS - Liju Pillai
Liju Pillai
 
ASP .NET MVC
ASP .NET MVC
eldorina
 
AngularJS 101 - Everything you need to know to get started
AngularJS 101 - Everything you need to know to get started
Stéphane Bégaudeau
 
TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0
Shiju Varghese
 
Php Frameworks
Php Frameworks
Ryan Davis
 
SoCal Code Camp 2011 - ASP.NET 4.5
SoCal Code Camp 2011 - ASP.NET 4.5
Jon Galloway
 
Why Zend Framework? - Meetup event!
Why Zend Framework? - Meetup event!
AJINKYA N
 
Session 28 - Servlets - Part 4
Session 28 - Servlets - Part 4
PawanMM
 
Session 31 - Session Management, Best Practices, Design Patterns in Web Apps
Session 31 - Session Management, Best Practices, Design Patterns in Web Apps
PawanMM
 
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople Building Web Sites with ASP.NET MVC FRAMEWORK
SpringPeople
 
Ch. 9 jsp standard tag library
Ch. 9 jsp standard tag library
Manolis Vavalis
 
Panada: An Introduction by Iskandar Soesman
Panada: An Introduction by Iskandar Soesman
k4ndar
 

Similar to Zend MVC pattern based Framework – Best for Enterprise web applications (20)

MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
Vforce Infotech
 
Zend
Zend
marcosTedsys
 
Application development using Zend Framework
Application development using Zend Framework
Mahmud Ahsan
 
Lamp Zend Security
Lamp Zend Security
Ram Srivastava
 
Demo
Demo
bkslide
 
Can I learn PHP course in 3 months..pptx
Can I learn PHP course in 3 months..pptx
asmeerana605
 
green
green
alind tiwari
 
Greenathan
Greenathan
alind tiwari
 
Greenathan
Greenathan
alind tiwari
 
latest slide
latest slide
alind tiwari
 
latest slide
latest slide
alind tiwari
 
dfgdfgf
dfgdfgf
alind tiwari
 
latest slide
latest slide
alind tiwari
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
test
test
alind tiwari
 
345
345
alind tiwari
 
werwer
werwer
alind tiwari
 
ttttt
ttttt
alind tiwari
 
MVC Frameworks for building PHP Web Applications
MVC Frameworks for building PHP Web Applications
Vforce Infotech
 
Application development using Zend Framework
Application development using Zend Framework
Mahmud Ahsan
 
Can I learn PHP course in 3 months..pptx
Can I learn PHP course in 3 months..pptx
asmeerana605
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Unit Test for ZF SlideShare Component
Unit Test for ZF SlideShare Component
zftalk
 
Ad

Recently uploaded (20)

Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
 
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
 
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
 
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Seminar: Targeting Trust: The Future of Identity in the Workforce.pptx
FIDO Alliance
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
 
The Future of Technology: 2025-2125 by Saikat Basu.pdf
The Future of Technology: 2025-2125 by Saikat Basu.pdf
Saikat Basu
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC and Open Hackathons Monthly Highlights June 2025
OpenACC
 
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
 
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Wenn alles versagt - IBM Tape schützt, was zählt! Und besonders mit dem neust...
Josef Weingand
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
CapCut Pro Crack For PC Latest Version {Fully Unlocked} 2025
pcprocore
 
Ad

Zend MVC pattern based Framework – Best for Enterprise web applications

  • 2. Introduction to Framework What does a Framework mean? • It’s a concrete platform where the common code to be executed in entire application can be kept which targets the maintainable, Reusable and scalable application. • A framework is an abstraction of the software code which can be selectively overridden. • Framework takes the form of libraries, where a well- defined application program interface (API) is reusable anywhere within the software under development.
  • 3. Principles of a Framework • Control over the flow: Instead of user’s (programmer’s) custom execution of flow, Framework must have the control over the flow. • Default behavior: Application has to work even without any customization of code with default configuration. • Extendable: Programmer should have the ability to extend the framework code • Non-changeable: User can extend the framework code but not allowed to change the core framework code • Compatible: Framework should be in such a way that Application should not be crashed even we upgrade framework version. (Latest framework has to work even with the older programming language versions) • Portable: Application developed on framework has to support multiple environments (Ex: Different databases and servers like IIS, Apache)
  • 4. Advantages over traditional programming • As frameworks are designed to target reusable code for quick development, lot of development efforts and time are reduced. • Using frameworks, the developers can spend more time on functionality development of the application than preparing the environment. This helps them to build defect free software applications. • Application Code is clean and neat as we follow standard of the software framework • Frameworks help you to develop the project rapidly, if you know one framework well then you’ll never worry about the project deadline.
  • 5. Disadvantages: • Learning curve is involved in understanding the different frameworks. • Preferable to use for large scale application because for small application, core programming language is faster than the framework.
  • 6. Frameworks available in the market: • Zend • Cake PHP • Code Igniter • Symfony • Yii
  • 7. Zend framework: • Open-source software framework for PHP 5. • Its strength is in its highly-modular MVC design, making your code more reusable and easier to maintain.
  • 8. History of Zend • Zend framework is started by Andi Gutmans and Zeev Suraski, one of the most influential persons that started PHP 3. • Launched in year 2006 with the preview release of 0.1.3 . • Latest version - 2.0 beta release
  • 9. Popular products developed on Zend Framework • Magento, which is one of popular open source shopping cart • McAffee company website • IBM company website
  • 10. Advantages over other frameworks • Highly flexible: We can extend all most all the framework classes • Loosely coupled: We can delete the components or modules which we don’t want in our application. It is highly modular. • Scalable: Can be developed high performance application as entire library won’t be loaded for each request. • Easy to test: PHPUnit is integrated with Zend framework. • Compatible with different databases (Db2, Mysql, Oracle and MSSql)
  • 11. Structure of Zend framework
  • 12. Security in Zend framework • Sql security: Zend framework has the Database abstraction layer which contains many escaping functions so no need to bother about sql injection attacks. • It’s having different APIs to handle queries • Zend_Db • Zend_Db_Statement • Zend_Db_Select • Zend_Db_Table
  • 13. Cross Site Request Forgery (CSRF) Protection: • Protections against CSRF attacks are usually based on secret, session depended form tokens <?php Class My_Form extends Zend_Form { function __construct() { parent::__construct(); $this->addElement('hash', 'csrf_token', array('salt' => get_class($this) . 's3cr3t%Ek@on9!')); } } ?>
  • 14. Session Management Configuration: • Configuration has big influence on security. • Zend_Session providing different options to configure session parameters’ . • It supports SSL to avoid session hijacking. <?php Zend_Session::setOptions(array( /* SSL server */ 'cookie_secure' => true, /* own name */ 'name' => 'mySSL', /* own storage */ 'save_path' => '/sessions/mySSL', /* XSS hardening */ 'cookie_httponly' => true, /* short lifetime */ 'gc_maxlifetime' => 15 * 60 )); Zend_Session::start(); ?>
  • 15. Security from XSS : A number of classes, primarily within the Zend_Form, Zend_Filter, Zend_Form, Zend_Log and Zend_View components, contained character encoding inconsistencies whereby calls to the htmlspecialchars() and htmlentities() functions used undefined or hard coded charset parameters.
  • 16. Different Design patterns used in Zend framework • Zend_Controller_Front – Singleton • Zend_Db_Adapter – Abstarct factory pattern • Zend_Db_Table – Table Data Gateway • Zend_Db_Table_Row • Row Data gateway • Zend_Log – Factory Method – Adapter – Composite • Zend_Form – Composite – Decorators • Zend_Filter and Zend_Validator – Strategy