Zend_Tool: Rapid Application Development with Zend Framework


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Zend_Tool: Rapid Application Development with Zend Framework

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