PDT – The PHP Development Toolkit

21
© 2008 Zend Technologies; made available under the EPL v1.0 19 March 2008 PDT – The PHP Development Toolkit Assaf Almaz, PDT co-Project Leader Zend Technologies

description

PDT – The PHP Development Toolkit. Assaf Almaz, PDT co-Project Leader Zend Technologies. Overview. Introduction PHP PDT Project Goals PDT 1.0 Features (demo) Infrastructure PDT 1.1 Improved Infrastructure New Features introduction Q&A. Introduction. Assaf Almaz - PowerPoint PPT Presentation

Transcript of PDT – The PHP Development Toolkit

Page 1: PDT – The PHP Development Toolkit

© 2008 Zend Technologies; made available under the EPL v1.0 19 March 2008

PDT – The PHP Development Toolkit

Assaf Almaz, PDT co-Project LeaderZend Technologies

Page 2: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 2

Overview

• Introduction• PHP• PDT Project Goals• PDT 1.0

Features (demo) Infrastructure

• PDT 1.1 Improved Infrastructure New Features introduction

• Q&A

Page 3: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 3

Introduction

• Assaf Almaz PDT co-Project Leader

Zend – The PHP Company, Nov 2006 Developing Software since 1997 First used Java in 2000, Eclipse since 2003. Member of W3C workgroup that wrote XSL 1.0 spec

Page 4: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 4

Introduction

• Zend Technologies The PHP Company Founded in 2000 by Zeev Surski & Andi Gutman Headquarters in Cupertino, CA Leading edge in developing tools and web application servers for PHP

Zend Studio IDE

Zend Platform HA-Cluster

Zend Guard Security

Zend Framework Zend CoreCertified PHP

Page 5: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 5

PHP

• Server Side Scripting Language• Designed to create Dynamic Web Applications• Designed for extensibility

• History 1994 – created by Rasmus Lerdorf 1997 – parser rewritten by Zeev Surski and Andi Gutman 1998 – PHP v3.0 2000 – PHP v4.0 2004 – PHP v5.0

• Object Oriented programming• Integrated SOAP• Exceptions handling

• Most Recent version: PHP 5.2.5 (Nov 2007)

Page 6: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 6

PHP Landscape

•Over 2,500,000 developers• Over 20,000,000 web sites• Mature language with many extensions• Enterprise Applications

Page 7: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 7

PHP Landscape

• Over 2,500,000 developers

•Over 20,000,000 web sites• Mature language with many extensions• Enterprise Applications

Yahoo

Page 8: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 8

PHP Landscape

• Over 2,500,000 developers• Over 20,000,000 web sites

•Mature language with many extensions• Enterprise Applications

Page 9: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 9

PHP Landscape

• Over 2,500,000 developers• Over 20,000,000 web sites• Mature language with many extensions

•Enterprise Applications

Page 10: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 10

PDT – Project Goals

Enlarge the Eclipse community with PHP developers Answer PHP development needs. Provide a framework for development tools of PHP

Deliver an extensible PHP development tool and framework for the Eclipse platform

Page 11: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 11

PDT 1.0

• RoadmapMarch 2006: Project Creation reviewAugust 2006: Requirements & Specification reviewApril 2007: PDT 0.7 releasedSept 2007: PDT 1.0 releasedJanuary 2008: PDT 1.0.2 released

Page 12: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 12

PDT 1.0 - Features

• Editor Code Assist Syntax coloring Code folding PHP Doc assist PHP Templates Open Declaration (ctrl + click) Annotations (task, breakpoints, CVS)

• Code Inspection & navigation Project view Outline view Problems view integration Open PHP element

Code Assist

Syntax Coloring

Outline View

Page 13: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 13

PDT 1.0 - Features

• PHP Debugging PHP Debug protocol Local debugging (PHP script) Remote debugging (PHP Web Pages)

• Eclipse features CVS (Team support) Search TODO

Page 14: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 14

PDT 1.0 - Infrastructure

• PHP Model Contains

• Declarations: Classes, Methods, Functions, Constants, Fields, Local variables.• Code Data Resolver – guess the type inference

Used for • Code assist• Open declaration• Open PHP Element• Outline View (File data)

Model types• PHP Language model (PHP v4, PHP v5)• PHP User model (Defined by user)• Include Paths & Dependant projects

Page 15: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 15

PDT 1.0 - Infrastructure

• PHP Structured Document Allows different processing for HTML, JavaScript, CSS and PHP

• AST – Abstract Syntax Tree DOM representation of the source file Can be used for:

• Code formatting• Static analysis of code

• Debugger Protocol Can be extended to:

• Debuggers: XDebug• PHP Unit

Page 16: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 16

PDT 1.1

• Roadmap Dec 2007: Content Definition May 2008: Milestone 1 June 2008: Milestone 2 August 2008: Release Cycle Sept 2008: PDT 1.1 released

Improve the PDT Infrastructure and introduce few features as test cases for the infra

Page 17: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 17

PDT 1.1 - Infrastructure

• Upgrade to Eclipse 3.4 (Web Tools 3.0)• Improved PHP Model

References: class instances, method calls, function calls. Indexing: reduce memory consumption of the current model Type inference – base on code analysis

PDT 1.1PDT 1.0

Requires @returnRequires @return

Page 18: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 18

PDT 1.1 - Infrastructure

• AST – Rewrite Bi-directional connectivity between AST and Editor

• Manipulating the AST reflects on PHP source code and vise versa

Used for: • Code Generation (getter/setter, override/implement)• Code manipulation (Refactoring)

PHP Source

AST

IDocument

AST Rewrite

Page 19: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 19

PDT 1.1 - Features

• Editor Mark occurrences Override annotation Getter/Setter Override/Implement

• PHP 5.3 support

• Code Inspection & Navigation Type hierarchy

• Debugger Filtering

Mark Occurrences

Override Annotation

Type Hierarchy

Page 20: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 20

Additional Resources

• APDT – Aspect PHP Development Toolkit 13:30 Room 209/210 William Candillon

• Extending the PFT project 14:00 Room 209/210 Roy Ganor (Zend Technologies)

• PDT Web Site www.eclipse.org/pdt

• PDT download http://download.eclipse.org/tools/pdt/downloads

• PDT including local debugger: http://www.zend.com/en/community/pdt

• Download PHP Stack (including Apache & MySQL) http://www.zend.com/en/products/core/downloads

Page 21: PDT – The PHP Development Toolkit

PDT – The PHP Development Toolkit © 2008 Zend Technologies; made available under the EPL v1.0 21

Thank You