zend_tool: rapid application development with zend framework

30
Copyright © 2008, Zend Technologies Inc. Zend_Tool: Rapid Application Development In Zend Framework Ralph Schindler Software Engineer, Zend Technologies

Upload: ralph-schindler

Post on 28-Jan-2015

108 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Zend_Tool: Rapid Application Development with Zend Framework

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

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

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

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

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

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

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

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

Demo – Make sure the Environment Is Setup

Page 10: Zend_Tool: Rapid Application Development with Zend Framework

Demo – Lets do something useful now

Page 11: Zend_Tool: Rapid Application Development with Zend Framework

Demo – Make sure a Vhost is Setup

Page 12: Zend_Tool: Rapid Application Development with Zend Framework

Demo – So what did that do?

Page 13: Zend_Tool: Rapid Application Development with Zend Framework

Demo – What did all that do?

Page 14: Zend_Tool: Rapid Application Development with Zend Framework

Demo – What else can it do?

Page 15: Zend_Tool: Rapid Application Development with Zend Framework

Demo – What else can it do (part 2)?

Page 16: Zend_Tool: Rapid Application Development with Zend Framework

Demo – What else can it do (part 3)?

Page 17: Zend_Tool: Rapid Application Development with Zend Framework

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

Advanced Usage: Hello World

Page 19: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Usage: Hello World

Page 20: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Usage: Hello World

Page 21: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Usage: Hello World

Page 22: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Concepts: Domain Models

• Lets say we started with a Db Schema

Page 23: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Concepts: Domain Models

Page 24: Zend_Tool: Rapid Application Development with Zend Framework

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

Advanced Concepts: Domain Models

Page 26: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Concepts: Domain Models

Page 27: Zend_Tool: Rapid Application Development with Zend Framework

Advanced Concepts: Domain Models

Page 28: Zend_Tool: Rapid Application Development with Zend Framework

Q & A Time

• Ask your question

• Receive your answer

• Wash, rinse, repeat

Page 29: Zend_Tool: Rapid Application Development with Zend Framework

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

Page 30: Zend_Tool: Rapid Application Development with Zend Framework

Copyright © 2008, Zend Technologies Inc.

Thanks!Ralph [email protected]://framework.zend.com/