SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
Zend Framework
PHP Powers the Web



             Gaylord Aulke
             Director Prof. Services, DACH
             Zend Technologies, Germany
Frameworks in other Areas




  Playmobil   LEGO          Fischer-Technik
PHP Frameworks




  Quelle: http://www.coldscripts.com/PHP/Scripts/Development/Frameworks/
Why Yet Another Framework?


• Keep PHP competitive among other technologies
  including .NET , Spring, Ruby-on-Rails, etc.

• No framework today supports Extreme Simplicity

• Provide “clean” IP to enable commercial use

• Structured development process will lead to uniform and
  high-quality code base

• Take full advantage of PHP 5
PHP Collaboration Project



                                  PHP
                                  PHP
              Community
              Community        Framework
                               Framework

            Best
            Best
         Practices
         Practices         PHP             Open
                                           Open
                        Language          Source
                                          Source


                  SOA,
                                   Open
                                   Open
               Web Services,
                   etc.             IDE
                                    IDE



                                                   19-Jun-07 | Page 5
Zend Framework


 Zend Framework provides a high-quality open-
 source framework for developing Web
 Applications and Web Services.

 By following the PHP spirit, the Zend Framework
 delivers easy-to-use and powerful functionality,
 focusing on the challenges of building robust,
 secure and modern Web applications.




                                             19-Jun-07 | Page 6
Framework Principles

• Keep it “extremely simple” – stick to 20%/80%
    rule and compensate by:
      Extensibility
      Use-at-will architecture
      Configuration-less

• Cherry pick best-of-breed ideas
• Showcase current trends in Web development
    (Web Services, Ajax, Search, Syndication, …)
•   Document development with use-cases
•   Only high quality and necessary components
•   Friendly license (BSD license)
      Contributors agree to contributor’s license agreement
                                                     19-Jun-07 | Page 7
• High-quality PHP 5 open-source
    framework
•   Easy-to-use, powerful
    functionality, focusing on the best
    practices of robust, secure and
    modern Web applications.
•   Follows principle of “extreme
    simplicity,” which makes it easy
    to learn and easy to use for
    programmers
•   Developed by members of the
    PHP community, led by a team at
    Zend
•   Open-source process, hosted at
    framework.zend.com under the
    business-friendly BSD license
•   Corporate contributions:

                                          19-Jun-07 | Page 8
More facts…


  •   PHP 5 class library
  •   Free, open source, BSD license (like PHP)
  •   140,000 lines of code
  •   Emphasis on quality: 60%+ unit test coverage
  •   Solutions are “extremely simple” – solving the
      80% usage case, and allowing for extensibility

  • Bundled with Zend Core & Zend Studio

  • http://framework.zend.com/
Large contributing community (approx. 160)




                                       19-Jun-07 | Page 10
Zend Framework on Google’s Web site




                            19-Jun-07 | Page 11
IBM runs on Zend Framework




• QEDWiki built on Zend Framework
• IBM contributing to Zend Framework (Ajax,
    Search, DB2, etc…)
•   Shipping with Zend Core for IBM and Zend Core
    for i5/OS



                                              19-Jun-07 | Page 12
Zend Framework 1.0

• Release Candidate in May, release planned for
    June
•   Lining up customers/partners for press incl. IBM,
    Google, Varien
•   Components designed by small teams
•   Proposals written and reviewed before coding
•   All code starts from scratch
•   Real Life Tests




                                                19-Jun-07 | Page 13
Zend Framework Components




                            19-Jun-07 | Page 14
Coding Standards

B.2. PHP File Formatting      B.4. Coding Style
    B.2.1. General                B.4.1. PHP Code Demarcation
    B.2.2. Indentation            B.4.2. Strings
    B.2.3. Maximum Line           B.4.3. Arrays
       Length                     B.4.4. Classes
    B.2.4. Line Termination       B.4.5. Functions and Methods
                                  B.4.6. Control Statements
                                  B.4.7. Inline Documentation
B.3. Naming Conventions
    B.3.1. Classes
    B.3.2. Interfaces
    B.3.3. Filenames
    B.3.4. Functions and
      Methods
    B.3.5. Variables
    B.3.6. Constants

                                                   19-Jun-07 | Page 15
Standard Directory Stucture




                              19-Jun-07 | Page 16
URL Rewriting

•   “Pretty URLs”
•   First element: Controller-Name
•   Second element: Action-Name
•   Followed by Key/Value Pairs with Parameters

http://www.myserver.com/event/detail/id/10
Controller: EventController
Action: detailAction
Parameter: id=10




                                                  19-Jun-07 | Page 17
Model / View / Controller



                Index.php




                *.phtml
Bootstrap File: index.php

• Handles all (dynamic) requests
• Sets up environment and calls controller




                                             19-Jun-07 | Page 19
ActionController: IndexController.php




                               19-Jun-07 | Page 20
Model: HRModel.php




                     19-Jun-07 | Page 21
View Script: Index.phtml




                           19-Jun-07 | Page 22
MVC Advantages

• User Interaction Handling isolated in the
    Controller Actions
•   Layout isolated in the View Scripts
•   Business Logic Encapsulated by the Model
•   This gives clear separation of responsibilities of
    the different classes

• Extensions might structure the business logic
    better
•   Template engine can be integrated into view
•   Example: ZGS Classes

                                                  19-Jun-07 | Page 23
DB-Adapter: Query
DB-Table
DB-Table: insert
DB-Table: update
Code: Feed

 • SOA & Web Services:
     Zend Framework has a large focus on Web Services
      • Zend_Feed, Zend_Service_*
Webservice Clients
Future Plans

• Provide additional features for PDF generation
    and support of the latest PDF standard
•   Enhance AJAX & forms support toward
    graduation from the incubator
•   Provide plug-ins for Controller architecture.
•   Build a higher-level abstraction on top of
    Zend_Search_Lucene (i.e., Zend_Search) that will
    allow for a pluggable interface to other search
    solutions
•   Enhance the MIME module to also support
    decomposing existing MIME messages

                                              19-Jun-07 | Page 30
Currently ongoing Ajax-related work


  • Zend_Json
       Part of Zend Framework
       Works both with fast ext/json and pure PHP-based
       implementation (automatically chooses best)
       Can decode to PHP array or object
       Can work with primitive types

  • Zend_Xml2Json
       Enables XML-to-JSON conversion at the middleware server
       layer
       Delivers simplicity to the front-end developer
       To be contributed by IBM Research based on paper on
       DeveloperWorks:
        • http://www-128.ibm.com/developerworks/xml/library/x-
          xml2jsonphp/
Zend Component Model


What?
Tooling for building AJAX applications


How?
Building blocks model – a-la VB/ASP/JSF


Why?
RAD in PHP spirit – simplicity + power
What are components?

 • PHP+JS+CSS+Images client/server side bundle
 • Self-describing components – can be used with
     any tool
 •   Visual RAD
       design time view – no data required
       production view - reflects actual data
 • Vi-compatibility – no additional configurations or
     declarative syntax files, only PHP and CSS/JS on
     client side
 •   Extensibility – new components, extending
     existing components
Z End

Weitere ähnliche Inhalte

Was ist angesagt?

Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...ZendCon
 
6 weeks 6 months live project summer industrial training in cmc limited 2012
6 weeks  6 months live project summer industrial training in cmc limited  20126 weeks  6 months live project summer industrial training in cmc limited  2012
6 weeks 6 months live project summer industrial training in cmc limited 2012CMC Limited
 
Ibm i-modernization
Ibm i-modernizationIbm i-modernization
Ibm i-modernizationTom Presotto
 
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...Robert Nicholson
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language FrontierRestlet
 
Adaptive Web Design Workshop [WebVisions NYC 2012]
Adaptive Web Design Workshop [WebVisions NYC 2012]Adaptive Web Design Workshop [WebVisions NYC 2012]
Adaptive Web Design Workshop [WebVisions NYC 2012]Aaron Gustafson
 
OpenSlava 2013 - Dynamic Languages
OpenSlava 2013 - Dynamic LanguagesOpenSlava 2013 - Dynamic Languages
OpenSlava 2013 - Dynamic LanguagesOscar Renalias
 
Cognizant_Nitin_Burumkar
Cognizant_Nitin_BurumkarCognizant_Nitin_Burumkar
Cognizant_Nitin_BurumkarNitin Burumkar
 
Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15Mallikarjun Dirisala
 
Adaptive Web Design Workshop [Iceweb 2011]
Adaptive Web Design Workshop [Iceweb 2011]Adaptive Web Design Workshop [Iceweb 2011]
Adaptive Web Design Workshop [Iceweb 2011]Aaron Gustafson
 
Migrating traditional Java EE Applications to mobile
Migrating traditional Java EE Applications to mobileMigrating traditional Java EE Applications to mobile
Migrating traditional Java EE Applications to mobileSerge Pagop
 

Was ist angesagt? (20)

RadPHP XE Datasheet
RadPHP XE DatasheetRadPHP XE Datasheet
RadPHP XE Datasheet
 
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
Insights from the Experts: How PHP Leaders Are Transforming High-Impact PHP A...
 
6 weeks 6 months live project summer industrial training in cmc limited 2012
6 weeks  6 months live project summer industrial training in cmc limited  20126 weeks  6 months live project summer industrial training in cmc limited  2012
6 weeks 6 months live project summer industrial training in cmc limited 2012
 
Ibm i-modernization
Ibm i-modernizationIbm i-modernization
Ibm i-modernization
 
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
IBM IMPACT 2009 Conference Session 2024 - WebSphere sMash Integration, PHP wi...
 
Real World Technologies
Real World TechnologiesReal World Technologies
Real World Technologies
 
VinodKulkarni_Resume
VinodKulkarni_ResumeVinodKulkarni_Resume
VinodKulkarni_Resume
 
Blue Ruby SDN Webinar
Blue Ruby SDN WebinarBlue Ruby SDN Webinar
Blue Ruby SDN Webinar
 
Web APIs, the New Language Frontier
Web APIs, the New Language FrontierWeb APIs, the New Language Frontier
Web APIs, the New Language Frontier
 
Yury Verameichyk-2015
Yury Verameichyk-2015Yury Verameichyk-2015
Yury Verameichyk-2015
 
Mallikharjun_Vemana
Mallikharjun_VemanaMallikharjun_Vemana
Mallikharjun_Vemana
 
Analysis
AnalysisAnalysis
Analysis
 
Adaptive Web Design Workshop [WebVisions NYC 2012]
Adaptive Web Design Workshop [WebVisions NYC 2012]Adaptive Web Design Workshop [WebVisions NYC 2012]
Adaptive Web Design Workshop [WebVisions NYC 2012]
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 
software programs
software programssoftware programs
software programs
 
OpenSlava 2013 - Dynamic Languages
OpenSlava 2013 - Dynamic LanguagesOpenSlava 2013 - Dynamic Languages
OpenSlava 2013 - Dynamic Languages
 
Cognizant_Nitin_Burumkar
Cognizant_Nitin_BurumkarCognizant_Nitin_Burumkar
Cognizant_Nitin_Burumkar
 
Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15Mallikarjun_BizTalkResume_10_June_15
Mallikarjun_BizTalkResume_10_June_15
 
Adaptive Web Design Workshop [Iceweb 2011]
Adaptive Web Design Workshop [Iceweb 2011]Adaptive Web Design Workshop [Iceweb 2011]
Adaptive Web Design Workshop [Iceweb 2011]
 
Migrating traditional Java EE Applications to mobile
Migrating traditional Java EE Applications to mobileMigrating traditional Java EE Applications to mobile
Migrating traditional Java EE Applications to mobile
 

Andere mochten auch

ezComponents - Derick Rethans
ezComponents - Derick RethansezComponents - Derick Rethans
ezComponents - Derick Rethansdpc
 
Web2 0slideshare
Web2 0slideshareWeb2 0slideshare
Web2 0slidesharebfuhrer
 
PHP and Zend Internal I - 体系结构及生命周期
PHP and Zend Internal I - 体系结构及生命周期PHP and Zend Internal I - 体系结构及生命周期
PHP and Zend Internal I - 体系结构及生命周期ericzhangcn
 
Deployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna MitchellDeployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna Mitchelldpc
 
Mobile Learning and Health Risks - Implications for Pedagogical and Education...
Mobile Learning and Health Risks - Implications for Pedagogical and Education...Mobile Learning and Health Risks - Implications for Pedagogical and Education...
Mobile Learning and Health Risks - Implications for Pedagogical and Education...Mikko Ahonen
 

Andere mochten auch (6)

ezComponents - Derick Rethans
ezComponents - Derick RethansezComponents - Derick Rethans
ezComponents - Derick Rethans
 
Web2 0slideshare
Web2 0slideshareWeb2 0slideshare
Web2 0slideshare
 
PHP and Zend Internal I - 体系结构及生命周期
PHP and Zend Internal I - 体系结构及生命周期PHP and Zend Internal I - 体系结构及生命周期
PHP and Zend Internal I - 体系结构及生命周期
 
Deployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna MitchellDeployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna Mitchell
 
Dolomitas
DolomitasDolomitas
Dolomitas
 
Mobile Learning and Health Risks - Implications for Pedagogical and Education...
Mobile Learning and Health Risks - Implications for Pedagogical and Education...Mobile Learning and Health Risks - Implications for Pedagogical and Education...
Mobile Learning and Health Risks - Implications for Pedagogical and Education...
 

Ähnlich wie DPC2007 Zend Framework (Gaylord Aulke)

Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend FrameworkMahmud Ahsan
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIvo Jansch
 
Microsoft TechDays 2011 - PHP on Windows
Microsoft TechDays 2011 - PHP on WindowsMicrosoft TechDays 2011 - PHP on Windows
Microsoft TechDays 2011 - PHP on WindowsEnterprise PHP Center
 
Technource - Zend framework Developers India
Technource - Zend framework Developers IndiaTechnource - Zend framework Developers India
Technource - Zend framework Developers IndiaTechnource
 
Get Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookGet Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookBinesh Gummadi
 
Top 6 leading PHP frameworks for web development
Top 6 leading PHP frameworks for web developmentTop 6 leading PHP frameworks for web development
Top 6 leading PHP frameworks for web developmentAppfinz Technologies
 
Php Frameworks
Php FrameworksPhp Frameworks
Php FrameworksRyan Davis
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi Shlomo Vanunu
 
Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...
Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...
Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...WDP Technologies
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Gabriel Villa
 
Architeching a php application with interfaces to the ib mi
Architeching a php application with interfaces to the ib miArchiteching a php application with interfaces to the ib mi
Architeching a php application with interfaces to the ib miChelsea Fenton
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum SlidesAbhishek Gupta
 
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War  - Building Interoperable Web Apps with PHP, PHP QuebecMake Web, Not War  - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP QuebecMake Web Not War
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Alen Leit
 
Scaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformScaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformShahar Evron
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...David Amend
 

Ähnlich wie DPC2007 Zend Framework (Gaylord Aulke) (20)

Application development using Zend Framework
Application development using Zend FrameworkApplication development using Zend Framework
Application development using Zend Framework
 
Integrating PHP With System-i using Web Services
Integrating PHP With System-i using Web ServicesIntegrating PHP With System-i using Web Services
Integrating PHP With System-i using Web Services
 
Microsoft TechDays 2011 - PHP on Windows
Microsoft TechDays 2011 - PHP on WindowsMicrosoft TechDays 2011 - PHP on Windows
Microsoft TechDays 2011 - PHP on Windows
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
Technource - Zend framework Developers India
Technource - Zend framework Developers IndiaTechnource - Zend framework Developers India
Technource - Zend framework Developers India
 
Get Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on FacebookGet Connected – Using Open Source Technologies on Facebook
Get Connected – Using Open Source Technologies on Facebook
 
green
greengreen
green
 
Top 6 leading PHP frameworks for web development
Top 6 leading PHP frameworks for web developmentTop 6 leading PHP frameworks for web development
Top 6 leading PHP frameworks for web development
 
Php Frameworks
Php FrameworksPhp Frameworks
Php Frameworks
 
Zend Products and PHP for IBMi
Zend Products and PHP for IBMi  Zend Products and PHP for IBMi
Zend Products and PHP for IBMi
 
Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...
Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...
Top 8 Reasons ASP.NET Core is the Best Framework for Web Application Developm...
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
 
Architeching a php application with interfaces to the ib mi
Architeching a php application with interfaces to the ib miArchiteching a php application with interfaces to the ib mi
Architeching a php application with interfaces to the ib mi
 
Netbeans65 Osum Slides
Netbeans65 Osum SlidesNetbeans65 Osum Slides
Netbeans65 Osum Slides
 
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War  - Building Interoperable Web Apps with PHP, PHP QuebecMake Web, Not War  - Building Interoperable Web Apps with PHP, PHP Quebec
Make Web, Not War - Building Interoperable Web Apps with PHP, PHP Quebec
 
Best PHP Frameworks
Best PHP FrameworksBest PHP Frameworks
Best PHP Frameworks
 
Introducing symfony
Introducing symfonyIntroducing symfony
Introducing symfony
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
 
Scaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend PlatformScaling PHP Applications with Zend Platform
Scaling PHP Applications with Zend Platform
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
 

Mehr von dpc

Software And The Taste Of Mayo - Marco Tabini
Software And The Taste Of Mayo - Marco TabiniSoftware And The Taste Of Mayo - Marco Tabini
Software And The Taste Of Mayo - Marco Tabinidpc
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinneydpc
 
State Of PHP - Zeev Suraski
State Of PHP - Zeev SuraskiState Of PHP - Zeev Suraski
State Of PHP - Zeev Suraskidpc
 
Symfony 1.1 - Fabien Potencier
Symfony 1.1 - Fabien PotencierSymfony 1.1 - Fabien Potencier
Symfony 1.1 - Fabien Potencierdpc
 
Advanced PHP: Design Patterns - Dennis-Jan Broerse
Advanced PHP: Design Patterns - Dennis-Jan BroerseAdvanced PHP: Design Patterns - Dennis-Jan Broerse
Advanced PHP: Design Patterns - Dennis-Jan Broersedpc
 
New Features PHPUnit 3.3 - Sebastian Bergmann
New Features PHPUnit 3.3 - Sebastian BergmannNew Features PHPUnit 3.3 - Sebastian Bergmann
New Features PHPUnit 3.3 - Sebastian Bergmanndpc
 
PHP 5.3 and PHP 6; a look ahead - Stefan Priebsch
PHP 5.3 and PHP 6; a look ahead - Stefan PriebschPHP 5.3 and PHP 6; a look ahead - Stefan Priebsch
PHP 5.3 and PHP 6; a look ahead - Stefan Priebschdpc
 
Quality Assurance in PHP projects - Sebastian Bergmann
Quality Assurance in PHP projects - Sebastian BergmannQuality Assurance in PHP projects - Sebastian Bergmann
Quality Assurance in PHP projects - Sebastian Bergmanndpc
 
An Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord AulkeAn Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord Aulkedpc
 
Enterprise PHP Development - Ivo Jansch
Enterprise PHP Development - Ivo JanschEnterprise PHP Development - Ivo Jansch
Enterprise PHP Development - Ivo Janschdpc
 
DPC2008 Intro - Ivo Jansch
DPC2008 Intro - Ivo JanschDPC2008 Intro - Ivo Jansch
DPC2008 Intro - Ivo Janschdpc
 
DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)dpc
 
DPC2007 Objects Of Desire (Kevlin Henney)
DPC2007 Objects Of Desire (Kevlin Henney)DPC2007 Objects Of Desire (Kevlin Henney)
DPC2007 Objects Of Desire (Kevlin Henney)dpc
 
DPC2007 Symfony (Stefan Koopmanschap)
DPC2007 Symfony (Stefan Koopmanschap)DPC2007 Symfony (Stefan Koopmanschap)
DPC2007 Symfony (Stefan Koopmanschap)dpc
 
DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)dpc
 
DPC2007 Case Study Surfnet (Herman Van Dompseler)
DPC2007 Case Study Surfnet (Herman Van Dompseler)DPC2007 Case Study Surfnet (Herman Van Dompseler)
DPC2007 Case Study Surfnet (Herman Van Dompseler)dpc
 
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)dpc
 
DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)dpc
 
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)dpc
 

Mehr von dpc (19)

Software And The Taste Of Mayo - Marco Tabini
Software And The Taste Of Mayo - Marco TabiniSoftware And The Taste Of Mayo - Marco Tabini
Software And The Taste Of Mayo - Marco Tabini
 
Best Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'PhinneyBest Practices with Zend Framework - Matthew Weier O'Phinney
Best Practices with Zend Framework - Matthew Weier O'Phinney
 
State Of PHP - Zeev Suraski
State Of PHP - Zeev SuraskiState Of PHP - Zeev Suraski
State Of PHP - Zeev Suraski
 
Symfony 1.1 - Fabien Potencier
Symfony 1.1 - Fabien PotencierSymfony 1.1 - Fabien Potencier
Symfony 1.1 - Fabien Potencier
 
Advanced PHP: Design Patterns - Dennis-Jan Broerse
Advanced PHP: Design Patterns - Dennis-Jan BroerseAdvanced PHP: Design Patterns - Dennis-Jan Broerse
Advanced PHP: Design Patterns - Dennis-Jan Broerse
 
New Features PHPUnit 3.3 - Sebastian Bergmann
New Features PHPUnit 3.3 - Sebastian BergmannNew Features PHPUnit 3.3 - Sebastian Bergmann
New Features PHPUnit 3.3 - Sebastian Bergmann
 
PHP 5.3 and PHP 6; a look ahead - Stefan Priebsch
PHP 5.3 and PHP 6; a look ahead - Stefan PriebschPHP 5.3 and PHP 6; a look ahead - Stefan Priebsch
PHP 5.3 and PHP 6; a look ahead - Stefan Priebsch
 
Quality Assurance in PHP projects - Sebastian Bergmann
Quality Assurance in PHP projects - Sebastian BergmannQuality Assurance in PHP projects - Sebastian Bergmann
Quality Assurance in PHP projects - Sebastian Bergmann
 
An Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord AulkeAn Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord Aulke
 
Enterprise PHP Development - Ivo Jansch
Enterprise PHP Development - Ivo JanschEnterprise PHP Development - Ivo Jansch
Enterprise PHP Development - Ivo Jansch
 
DPC2008 Intro - Ivo Jansch
DPC2008 Intro - Ivo JanschDPC2008 Intro - Ivo Jansch
DPC2008 Intro - Ivo Jansch
 
DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)
 
DPC2007 Objects Of Desire (Kevlin Henney)
DPC2007 Objects Of Desire (Kevlin Henney)DPC2007 Objects Of Desire (Kevlin Henney)
DPC2007 Objects Of Desire (Kevlin Henney)
 
DPC2007 Symfony (Stefan Koopmanschap)
DPC2007 Symfony (Stefan Koopmanschap)DPC2007 Symfony (Stefan Koopmanschap)
DPC2007 Symfony (Stefan Koopmanschap)
 
DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)DPC2007 PHP And Oracle (Kuassi Mensah)
DPC2007 PHP And Oracle (Kuassi Mensah)
 
DPC2007 Case Study Surfnet (Herman Van Dompseler)
DPC2007 Case Study Surfnet (Herman Van Dompseler)DPC2007 Case Study Surfnet (Herman Van Dompseler)
DPC2007 Case Study Surfnet (Herman Van Dompseler)
 
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)
DPC2007 Case Study Zoom & Webwereld (Sander vd Graaf)
 
DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)DPC2007 PDO (Lukas Kahwe Smith)
DPC2007 PDO (Lukas Kahwe Smith)
 
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
DPC2007 MySQL Stored Routines for PHP Developers (Roland Bouman)
 

Kürzlich hochgeladen

8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCRashishs7044
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...ssuserf63bd7
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckHajeJanKamps
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailAriel592675
 
Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionMintel Group
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Pereraictsugar
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfrichard876048
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy Verified Accounts
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfRbc Rbcua
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchirictsugar
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...ictsugar
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607dollysharma2066
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxMarkAnthonyAurellano
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCRashishs7044
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menzaictsugar
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadAyesha Khan
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyotictsugar
 

Kürzlich hochgeladen (20)

8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
8447779800, Low rate Call girls in Kotla Mubarakpur Delhi NCR
 
International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...International Business Environments and Operations 16th Global Edition test b...
International Business Environments and Operations 16th Global Edition test b...
 
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deckPitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
Pitch Deck Teardown: Geodesic.Life's $500k Pre-seed deck
 
Case study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detailCase study on tata clothing brand zudio in detail
Case study on tata clothing brand zudio in detail
 
Future Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted VersionFuture Of Sample Report 2024 | Redacted Version
Future Of Sample Report 2024 | Redacted Version
 
Kenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith PereraKenya Coconut Production Presentation by Dr. Lalith Perera
Kenya Coconut Production Presentation by Dr. Lalith Perera
 
Innovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdfInnovation Conference 5th March 2024.pdf
Innovation Conference 5th March 2024.pdf
 
Buy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail AccountsBuy gmail accounts.pdf Buy Old Gmail Accounts
Buy gmail accounts.pdf Buy Old Gmail Accounts
 
APRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdfAPRIL2024_UKRAINE_xml_0000000000000 .pdf
APRIL2024_UKRAINE_xml_0000000000000 .pdf
 
Marketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent ChirchirMarketplace and Quality Assurance Presentation - Vincent Chirchir
Marketplace and Quality Assurance Presentation - Vincent Chirchir
 
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...Global Scenario On Sustainable  and Resilient Coconut Industry by Dr. Jelfina...
Global Scenario On Sustainable and Resilient Coconut Industry by Dr. Jelfina...
 
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607FULL ENJOY Call girls in Paharganj Delhi | 8377087607
FULL ENJOY Call girls in Paharganj Delhi | 8377087607
 
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptxContemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
Contemporary Economic Issues Facing the Filipino Entrepreneur (1).pptx
 
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
8447779800, Low rate Call girls in Uttam Nagar Delhi NCR
 
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu MenzaYouth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
Youth Involvement in an Innovative Coconut Value Chain by Mwalimu Menza
 
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCREnjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
Enjoy ➥8448380779▻ Call Girls In Sector 18 Noida Escorts Delhi NCR
 
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
No-1 Call Girls In Goa 93193 VIP 73153 Escort service In North Goa Panaji, Ca...
 
Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)Japan IT Week 2024 Brochure by 47Billion (English)
Japan IT Week 2024 Brochure by 47Billion (English)
 
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in IslamabadIslamabad Escorts | Call 03070433345 | Escort Service in Islamabad
Islamabad Escorts | Call 03070433345 | Escort Service in Islamabad
 
Investment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy CheruiyotInvestment in The Coconut Industry by Nancy Cheruiyot
Investment in The Coconut Industry by Nancy Cheruiyot
 

DPC2007 Zend Framework (Gaylord Aulke)

  • 1. Zend Framework PHP Powers the Web Gaylord Aulke Director Prof. Services, DACH Zend Technologies, Germany
  • 2. Frameworks in other Areas Playmobil LEGO Fischer-Technik
  • 3. PHP Frameworks Quelle: http://www.coldscripts.com/PHP/Scripts/Development/Frameworks/
  • 4. Why Yet Another Framework? • Keep PHP competitive among other technologies including .NET , Spring, Ruby-on-Rails, etc. • No framework today supports Extreme Simplicity • Provide “clean” IP to enable commercial use • Structured development process will lead to uniform and high-quality code base • Take full advantage of PHP 5
  • 5. PHP Collaboration Project PHP PHP Community Community Framework Framework Best Best Practices Practices PHP Open Open Language Source Source SOA, Open Open Web Services, etc. IDE IDE 19-Jun-07 | Page 5
  • 6. Zend Framework Zend Framework provides a high-quality open- source framework for developing Web Applications and Web Services. By following the PHP spirit, the Zend Framework delivers easy-to-use and powerful functionality, focusing on the challenges of building robust, secure and modern Web applications. 19-Jun-07 | Page 6
  • 7. Framework Principles • Keep it “extremely simple” – stick to 20%/80% rule and compensate by: Extensibility Use-at-will architecture Configuration-less • Cherry pick best-of-breed ideas • Showcase current trends in Web development (Web Services, Ajax, Search, Syndication, …) • Document development with use-cases • Only high quality and necessary components • Friendly license (BSD license) Contributors agree to contributor’s license agreement 19-Jun-07 | Page 7
  • 8. • High-quality PHP 5 open-source framework • Easy-to-use, powerful functionality, focusing on the best practices of robust, secure and modern Web applications. • Follows principle of “extreme simplicity,” which makes it easy to learn and easy to use for programmers • Developed by members of the PHP community, led by a team at Zend • Open-source process, hosted at framework.zend.com under the business-friendly BSD license • Corporate contributions: 19-Jun-07 | Page 8
  • 9. More facts… • PHP 5 class library • Free, open source, BSD license (like PHP) • 140,000 lines of code • Emphasis on quality: 60%+ unit test coverage • Solutions are “extremely simple” – solving the 80% usage case, and allowing for extensibility • Bundled with Zend Core & Zend Studio • http://framework.zend.com/
  • 10. Large contributing community (approx. 160) 19-Jun-07 | Page 10
  • 11. Zend Framework on Google’s Web site 19-Jun-07 | Page 11
  • 12. IBM runs on Zend Framework • QEDWiki built on Zend Framework • IBM contributing to Zend Framework (Ajax, Search, DB2, etc…) • Shipping with Zend Core for IBM and Zend Core for i5/OS 19-Jun-07 | Page 12
  • 13. Zend Framework 1.0 • Release Candidate in May, release planned for June • Lining up customers/partners for press incl. IBM, Google, Varien • Components designed by small teams • Proposals written and reviewed before coding • All code starts from scratch • Real Life Tests 19-Jun-07 | Page 13
  • 14. Zend Framework Components 19-Jun-07 | Page 14
  • 15. Coding Standards B.2. PHP File Formatting B.4. Coding Style B.2.1. General B.4.1. PHP Code Demarcation B.2.2. Indentation B.4.2. Strings B.2.3. Maximum Line B.4.3. Arrays Length B.4.4. Classes B.2.4. Line Termination B.4.5. Functions and Methods B.4.6. Control Statements B.4.7. Inline Documentation B.3. Naming Conventions B.3.1. Classes B.3.2. Interfaces B.3.3. Filenames B.3.4. Functions and Methods B.3.5. Variables B.3.6. Constants 19-Jun-07 | Page 15
  • 16. Standard Directory Stucture 19-Jun-07 | Page 16
  • 17. URL Rewriting • “Pretty URLs” • First element: Controller-Name • Second element: Action-Name • Followed by Key/Value Pairs with Parameters http://www.myserver.com/event/detail/id/10 Controller: EventController Action: detailAction Parameter: id=10 19-Jun-07 | Page 17
  • 18. Model / View / Controller Index.php *.phtml
  • 19. Bootstrap File: index.php • Handles all (dynamic) requests • Sets up environment and calls controller 19-Jun-07 | Page 19
  • 21. Model: HRModel.php 19-Jun-07 | Page 21
  • 22. View Script: Index.phtml 19-Jun-07 | Page 22
  • 23. MVC Advantages • User Interaction Handling isolated in the Controller Actions • Layout isolated in the View Scripts • Business Logic Encapsulated by the Model • This gives clear separation of responsibilities of the different classes • Extensions might structure the business logic better • Template engine can be integrated into view • Example: ZGS Classes 19-Jun-07 | Page 23
  • 28. Code: Feed • SOA & Web Services: Zend Framework has a large focus on Web Services • Zend_Feed, Zend_Service_*
  • 30. Future Plans • Provide additional features for PDF generation and support of the latest PDF standard • Enhance AJAX & forms support toward graduation from the incubator • Provide plug-ins for Controller architecture. • Build a higher-level abstraction on top of Zend_Search_Lucene (i.e., Zend_Search) that will allow for a pluggable interface to other search solutions • Enhance the MIME module to also support decomposing existing MIME messages 19-Jun-07 | Page 30
  • 31. Currently ongoing Ajax-related work • Zend_Json Part of Zend Framework Works both with fast ext/json and pure PHP-based implementation (automatically chooses best) Can decode to PHP array or object Can work with primitive types • Zend_Xml2Json Enables XML-to-JSON conversion at the middleware server layer Delivers simplicity to the front-end developer To be contributed by IBM Research based on paper on DeveloperWorks: • http://www-128.ibm.com/developerworks/xml/library/x- xml2jsonphp/
  • 32. Zend Component Model What? Tooling for building AJAX applications How? Building blocks model – a-la VB/ASP/JSF Why? RAD in PHP spirit – simplicity + power
  • 33. What are components? • PHP+JS+CSS+Images client/server side bundle • Self-describing components – can be used with any tool • Visual RAD design time view – no data required production view - reflects actual data • Vi-compatibility – no additional configurations or declarative syntax files, only PHP and CSS/JS on client side • Extensibility – new components, extending existing components
  • 34. Z End