• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
DPC2007 Zend Framework (Gaylord Aulke)
 

DPC2007 Zend Framework (Gaylord Aulke)

on

  • 3,239 views

Dutch PHP Conference 2007

Dutch PHP Conference 2007

Statistics

Views

Total Views
3,239
Views on SlideShare
3,202
Embed Views
37

Actions

Likes
1
Downloads
163
Comments
0

7 Embeds 37

http://www.phpconference.nl 28
http://www.techgig.com 3
http://phpconference.nl 2
http://s3.amazonaws.com 1
http://www.ibuildings.nl 1
http://www.slideshare.net 1
http://10.150.200.57 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    DPC2007 Zend Framework (Gaylord Aulke) DPC2007 Zend Framework (Gaylord Aulke) Presentation Transcript

    • 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