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/
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
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
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