Zend_Tool In ZF 1.8 Webinar

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    2 Favorites

    Zend_Tool In ZF 1.8 Webinar - Presentation Transcript

    1. ZEND_TOOL IN ZF 1.8 By Ralph Schindler Copyright © 2007, Zend Technologies Inc.
    2. Overview •  Overview   The Problem   The Solution   Obtaining Zend_Tool •  Basic Usage   Zend_Tool usage OTB (out the box)   Zend_CodeGenerator & Zend_Reflection •  Advanced Usage   Extending Zend_Tool Overview | Jul-1-09 | 2
    3. OVERVIEW “ What’s this thing all about? Overview | Jul-1-09 | 3
    4. Overview •  The Problem – all the buzzwords   RAD – Rapid Application Development   Code Generation •  The generation of code during “development time” that will run during “production time” •  Development time code generation is ALWAYS better than runtime introspection   Scaffolding •  Templates •  Meta programming •  CRUD Overview | Jul-1-09 | 4
    5. Overview •  In a nutshell:   “Zend_Tool is both RAD tools as well as a framework for exposing your own set of tooling needs to the Zend_Tool user interface.” •  Main Classes & APIs:   Zend_Tool_Framework   Zend_Tool_Project •  Supporting Classes & APIs:   Zend_CodeGenerator   Zend_Reflection Overview | Jul-1-09 | 5
    6. Overview •  Download and go •  SVN   Create a link to the proper runner (zf.sh/zf.bat) •  Preferably in the system path   Add Zend Framework library to global include_path •  Zend Server •  Pear Channel (http://pear.zfcampus.org/) Overview | Jul-1-09 | 6
    7. Overview •  How it works   Zend_Tool_Framework looks for providers, by default, on the include_path   Zend_Tool_Project is consumed by Zend_Tool_Framework •  This allows Zend_Tool_Project to be only concerned with “project” problems •  This also allows Zend_Tool_Framework to focus on the problem of knowing which requests are good, and knowing how to dispatch said request   Zend_Tool_Framework provides a client to the user   That client in 1.8 is the command line client Overview | Jul-1-09 | 7
    8. BASIC USAGE “ So, how do I use this thing? Basic Usage | Jul-1-09 | 8
    9. Basic Usage Basic Usage | Jul-1-09 | 9
    10. Basic Usage Basic Usage | Jul-1-09 | 10
    11. Basic Usage Basic Usage | Jul-1-09 | 11
    12. Basic Usage Basic Usage | Jul-1-09 | 12
    13. Basic Usage Basic Usage | Jul-1-09 | 13
    14. Basic Usage Basic Usage | Jul-1-09 | 14
    15. Basic Usage Basic Usage | Jul-1-09 | 15
    16. Basic Usage Basic Usage | Jul-1-09 | 16
    17. Basic Usage Basic Usage | Jul-1-09 | 17
    18. Basic Usage Basic Usage | Jul-1-09 | 18
    19. ADVANCED USAGE “ So, how do I extend this thing? Advanced Usage | Jul-1-09 | 19
    20. Advanced Usage •  Zend_Tool_Framework Architecture   Registry •  A container for all of the Zend_Tool_Framework sub componets   Providers •  The built in providers   Loaders •  The component responsible for finding providers & manifests   Manifest •  A dictionary of metadata to be used by clients and providers   Client •  The subcomponent responsible for presenting the toolchain to the user as well as building and dispatching requests Advanced Usage | Jul-1-09 | 20
    21. Advanced Usage •  Zend_Tool_Project Architecture   Project Profile •  The description of the project in terms as a tree structure of resources   Resource •  A resources is a node in the “project profile tree” •  Can be a single node, or a parent of a collection of nodes •  Is further described by the “context” associated with it.   Providers •  Set of providers responsible for project based capabilities   Context •  An object that describes the role of any given resources. Advanced Usage | Jul-1-09 | 21
    22. Advanced Usage •  Zend_Reflection   Extends the API of PHP’s Reflection class to handle some missing functionality •  Docblock introspection (ability to get tags and descriptions) •  File introspection Advanced Usage | Jul-1-09 | 22
    23. Advanced Usage •  Zend_CodeGenerator   Purpose is to generate OO code with an OO interface   API very similar to Reflection API, but the purpose is exactly the opposite   generate() method produces Zend/PEAR standard compliant object oriented code   Target use case: Assisting RAD and facilitating iterative development Advanced Usage | Jul-1-09 | 23
    24. Advanced Usage •  Iterative Development   Use Zend_Tool to generate file & class   Modify file with external tool •  Example: use studio to fill in the body of an Action Controllers action   Use Zend_Tool to modify file & class •  Example: adding an action to an already generated and modifed Action Controller Advanced Usage | Jul-1-09 | 24
    25. Advanced Usage •  Next slides are old demonstration •  API still applicable, substitute Zend for ZendL Advanced Usage | Jul-1-09 | 25
    26. Advanced Usage •  Zend_CodeGenerator / Reflection example Advanced Usage | Jul-1-09 | 26
    27. Advanced Usage •  Zend_CodeGenerator / Reflection example Advanced Usage | Jul-1-09 | 27
    28. Advanced Usage •  Zend_CodeGenerator / Reflection example Advanced Usage | Jul-1-09 | 28
    29. Advanced Usage •  Zend_CodeGenerator / Reflection example Advanced Usage | Jul-1-09 | 29
    30. Advanced Usage •  Lets explore a simple problem: Db Table & Model Generation   Start with a schema   Generate Db Table Files   Generate Model Files Advanced Usage | Jul-1-09 | 30
    31. Advanced Usage Advanced Usage | Jul-1-09 | 31
    32. Advanced Usage •  Files needed to facilitate this endeavor •  (These are in the include_path) Advanced Usage | Jul-1-09 | 32
    33. Advanced Usage Advanced Usage | Jul-1-09 | 33
    34. Advanced Usage •  Start with the simpler Abstract & ModelProvider Advanced Usage | Jul-1-09 | 34
    35. Advanced Usage Advanced Usage | Jul-1-09 | 35
    36. Advanced Usage Advanced Usage | Jul-1-09 | 36
    37. Advanced Usage Advanced Usage | Jul-1-09 | 37
    38. Advanced Usage Advanced Usage | Jul-1-09 | 38
    39. Advanced Usage Advanced Usage | Jul-1-09 | 39
    40. Advanced Usage Advanced Usage | Jul-1-09 | 40
    41. Advanced Usage Advanced Usage | Jul-1-09 | 41
    42. Advanced Usage •  The more complex DbTable provider & generator •  This will include some Zend_Application integration Advanced Usage | Jul-1-09 | 42
    43. Advanced Usage Advanced Usage | Jul-1-09 | 43
    44. Advanced Usage Advanced Usage | Jul-1-09 | 44
    45. Advanced Usage Advanced Usage | Jul-1-09 | 45
    46. Advanced Usage Advanced Usage | Jul-1-09 | 46
    47. Advanced Usage Advanced Usage | Jul-1-09 | 47
    48. Advanced Usage Advanced Usage | Jul-1-09 | 48
    49. Advanced Usage Advanced Usage | Jul-1-09 | 49
    50. Advanced Usage Advanced Usage | Jul-1-09 | 50
    51. Advanced Usage Advanced Usage | Jul-1-09 | 51
    52. WRAPPING IT UP “ What’s next? Wha’ts on the horizon? Advanced Usage | Jul-1-09 | 52
    53. Wrapping It Up •  Most immediately   Code and slides published to my blog •  http://ralphschindler.com   End of week a tutorial on DevZone •  Same code, only heavily documented to demonstrate what is going on •  Some additional functionality inside the code •  Iterative examples Name of this section | Jul-1-09 | 53
    54. Wrapping It Up •  Whats to come in 1.9?   A setup script   Better include_path management   New Providers! •  Model provider •  DbTable provides   Custom profiles •  Whats on the TODO list?   Importing of existing project (resource auto-detection)   Web based client   Zend Studio client Name of this section | Jul-1-09 | 54
    55. Wrapping It Up •  Questions? Name of this section | Jul-1-09 | 55
    56. THANK YOU! Ralph Schindler ralph.schindler@zend.com http://framework.zend.com/ | 56 Name of thisJul-1-09 | section Copyright © 2007, Zend Technologies Inc.

    + Ralph SchindlerRalph Schindler, 5 months ago

    custom

    590 views, 2 favs, 0 embeds more stats

    These slides were presented on 6/30/06 in a webinar more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 590
      • 590 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 21
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Tags