zend_tool: rapid application development with zend framework
DESCRIPTION
TRANSCRIPT
![Page 1: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/1.jpg)
Copyright © 2008, Zend Technologies Inc.
Zend_Tool: Rapid Application Development In Zend FrameworkRalph SchindlerSoftware Engineer,Zend Technologies
![Page 2: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/2.jpg)
Overview
• This Presentation? Now?
• The Proposals
• Demo of Code / Prototype
• Q & A Time
• Whats Next?
![Page 3: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/3.jpg)
Current State of Affairs
• This is where you come in:• Need worthwhile community feedback to validate proposals, ideas and use cases
• Which in turn, will push along the component in the proposal process
• And, we have a prototype is ready, you can use it TODAY
![Page 4: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/4.jpg)
The Proposals
• The Tooling / Command Line Tooling problem broken down into 3 logical part:• Zend_Tool_Rpc
http://framework.zend.com/wiki/display/ZFPROP/Zend_Tool_Rpc+-+Ralph+Schindler
• Zend_Tool_Project http://framework.zend.com/wiki/display/ZFPROP/Zend_Tool_Project+-+Ralph+Schindler
• Zend_Tool_CodeGenerator http://framework.zend.com/wiki/display/ZFPROP/Zend_Tool_CodeGenerator+-+Ralph+Schindler
• Zend_Reflection http://framework.zend.com/wiki/display/ZFPROP/Zend_Reflection+-+Ralph+Schindler
![Page 5: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/5.jpg)
The Proposals – Zend_Tool_Rpc
• RPC Style “framework” for using and extending “tooling” capabilities
• Further broken down into subparts:• Endpoints• Providers• Loaders• Manifest & Metadata• Built in / System providers
![Page 6: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/6.jpg)
The Proposals – Zend_Tool_Project
• Zend_Tool_Project facilitates the ability to build and manage ZF based projects
• Subparts:• Set of providers• Object Graph Management
Contexts Graph and Nodes
![Page 7: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/7.jpg)
The Proposal - Zend_Tool_CodeGenerator
• Responsible for parsing and generating “code” from logical blocks of “text”
• First round of implementation:• PHP
Files, Classes, Properties, Methods, Parameters Docblocks for each Body code / maybe later support primitives and basic control structures
• Apache Conf files and .htaccess files Directory and File blocks, settings, etc.
![Page 8: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/8.jpg)
Demo of Code / Prototype
• Demo Time!
• A script of what I will be demo-ing is located here:
![Page 9: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/9.jpg)
Demo – Make sure the Environment Is Setup
![Page 10: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/10.jpg)
Demo – Lets do something useful now
![Page 11: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/11.jpg)
Demo – Make sure a Vhost is Setup
![Page 12: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/12.jpg)
Demo – So what did that do?
![Page 13: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/13.jpg)
Demo – What did all that do?
![Page 14: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/14.jpg)
Demo – What else can it do?
![Page 15: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/15.jpg)
Demo – What else can it do (part 2)?
![Page 16: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/16.jpg)
Demo – What else can it do (part 3)?
![Page 17: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/17.jpg)
Advanced Usage: OOP interface to Generation
• Zend_Tool_CodeGenerator allows you to generate OO Php code to script the production of classes
• Zend_Reflection allows you to reflect more granular aspects of OO classes• Docblocks, doc attributes (var, description, params, returns)
• Reflect Files• Retrieve content body
• Zend_Tool_CodeGenerator allows you to use Zend_Reflection to build OO graphs of code to be able to modify and save back to disk
![Page 18: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/18.jpg)
Advanced Usage: Hello World
![Page 19: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/19.jpg)
Advanced Usage: Hello World
![Page 20: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/20.jpg)
Advanced Usage: Hello World
![Page 21: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/21.jpg)
Advanced Usage: Hello World
![Page 22: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/22.jpg)
Advanced Concepts: Domain Models
• Lets say we started with a Db Schema
![Page 23: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/23.jpg)
Advanced Concepts: Domain Models
![Page 24: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/24.jpg)
Advanced Concepts: Domain Models
• And we wrote a few scripts that utilized reflection and code generation, other tooling goodies and other elements of the ZF…
• http://svn.ralphschindler.com/RS_DomainModel/
• Perhaps we could generate some Domain Models that utilized Db Tables, as well as some getters and setters for their properties
![Page 25: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/25.jpg)
Advanced Concepts: Domain Models
![Page 26: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/26.jpg)
Advanced Concepts: Domain Models
![Page 27: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/27.jpg)
Advanced Concepts: Domain Models
![Page 28: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/28.jpg)
Q & A Time
• Ask your question
• Receive your answer
• Wash, rinse, repeat
![Page 29: Zend_Tool: Rapid Application Development with Zend Framework](https://reader035.vdocument.in/reader035/viewer/2022062617/54c8e5564a79595b388b458b/html5/thumbnails/29.jpg)
Whats next?
• Send feedback to the proposals
• http://tech.groups.yahoo.com/group/zf-tool/
• Use the prototype and ask questions to me:• [email protected]• Or in #zftalk / #zftalk.dev• Or on the mailing list
• My next steps:• CodeGeneration refining• Help system shortcuts• Custom Profiles/CodeGenerators for Zend_Tool_Project