PhpStrom git phpunit_t3ak11

37
www.lightwerk.com 1 Montag, 28. Februar 2011

description

Merzilla´s slide about the new IDE PhpStorm 2.0, the VCS git and unit-tests in PHP, during the TYPO3 Akademie 2011 (t3ak11) in Munich (München) on 2011-02-25 at Marit AG.

Transcript of PhpStrom git phpunit_t3ak11

Page 1: PhpStrom git phpunit_t3ak11

www.lightwerk.com

1Montag, 28. Februar 2011

Page 2: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Ralf MerzDipl.-Ing. (FH)

Kommunikations- und Softwaretechnik

• geboren 16.12.1979 in Balingen

• verheiratet seit 2006, eine Tochter (8 Jahre)

• „verheiratet“ mit TYPO3 seit 2006

• seit Januar 2010 bei Lightwerk

• http://twitter.com/merzilla

• #t3quetsche

2Montag, 28. Februar 2011

Page 3: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Was ist PhpStorm?

• Integrated Development Enviroment

• PHP, HTML, CSS, JavaScript, XML, VCS, SQL

• cross-plattform

3Montag, 28. Februar 2011

Page 4: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Intelligenter PHP Editor

• PHP Code-Vervollständigung• PHP Refactoring• Smarty und PHPDoc Support• Quick Navigation• Language Mixing (JS/SQL/XML

etc.)

4Montag, 28. Februar 2011

Page 5: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Umfangreicher JavaScript

Editor• DOM-basierte /

browserspezifische Vervollständigung

• Code Navigation und Suche• JavaScript Refactoring• JavaScript Debugger

5Montag, 28. Februar 2011

Page 6: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Kompakte Umgebung

• Visueller PHPUnit Test-Runner• Unterstützung von SVN, Git,

CVS, Mercurical, Perforce -- mit visuellem merging

• FTP und Remote Datei-Synchronisierung

• Lokale Change History

6Montag, 28. Februar 2011

Page 7: PhpStrom git phpunit_t3ak11

www.lightwerk.com

HTML / CSS Editor

• HTML5 Unterstützung• Zen Coding• Validierung mit quick-fixes• Zeigt zugewiesene Styles• Extrahiert embedded styles

7Montag, 28. Februar 2011

Page 8: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Visuelles Debugging

• Zero-configuration debugger• xDebug / Zend• Breakpoints in PHP, JS, HTML• Inspect von Variablen und

beobachten• Batch Code Analyse

8Montag, 28. Februar 2011

Page 9: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Komplette PHP 5.3 Unterstützung

9Montag, 28. Februar 2011

Page 10: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Neues Git Log User Interface

10Montag, 28. Februar 2011

Page 11: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Automatische Code Vervollständigung, sogar bei Array Indexen

11Montag, 28. Februar 2011

Page 12: PhpStrom git phpunit_t3ak11

www.lightwerk.com

GitHub Integration12Montag, 28. Februar 2011

Page 13: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Mercurial Unterstützung13Montag, 28. Februar 2011

Page 14: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Command Line Tool Unterstützung

14Montag, 28. Februar 2011

Page 15: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Advanced Code Inspection

15Montag, 28. Februar 2011

Page 16: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Verbesserte SQL Konsole16Montag, 28. Februar 2011

Page 17: PhpStrom git phpunit_t3ak11

www.lightwerk.com

17Montag, 28. Februar 2011

Page 18: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Wie kam es zu PhpStorm

• erstmals empfohlen bei der TUGS im November durch TYPO3 Core Developer

• JetBrains unterstützt Open Source Projekte

• ausprobieren schadet nicht: 30 Tage Trial

• IntelliJ IDEA Abkömmling mit allen Web-verwandten Funktionalitäten

• Gute umfangreiche Hilfe

• großer Pool an Plugins, ist aber „out of the box“ prima

18Montag, 28. Februar 2011

Page 19: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Erfahrung• Remote: lädt alles ab dem gewählten Verzeichnis

herunter.

• Nur Ext. laden, dann lib hinzufügen geht einfach

• genutzt während der SNOW3 für Extbase-Schulung

• einfach „sympathisch“

• lässt sich gut anpassen

• gute Kontextmenüs

19Montag, 28. Februar 2011

Page 20: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Subversion vs. Git

http://whygitisbetterthanx.com

20Montag, 28. Februar 2011

Page 21: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Warum Git besser als X ist (X= hg, bzr, svn und perforce)• Hauptunterschied: Branching Modell

• mehrere branches lokal möglich

• kompletter lokaler Klon

• unabhängig von einzelnem Repository

21Montag, 28. Februar 2011

Page 22: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Alles ist lokal22Montag, 28. Februar 2011

Page 23: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Git ist schnell und klein23Montag, 28. Februar 2011

Page 24: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Staging Area oder Index24Montag, 28. Februar 2011

Page 25: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Workflow Arten mit Git

25Montag, 28. Februar 2011

Page 26: PhpStrom git phpunit_t3ak11

www.lightwerk.com

SVN-artiger Workflow26Montag, 28. Februar 2011

Page 27: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Über Integration Manager27Montag, 28. Februar 2011

Page 28: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Dictator und Lieutenants Workflow

28Montag, 28. Februar 2011

Page 29: PhpStrom git phpunit_t3ak11

www.lightwerk.com

GitHubwie eine Art „Social Network“

für Codehttps://github.com/

Stand 24.02.11: 608,541 people hosting over 1,758,300 git repositories

29Montag, 28. Februar 2011

Page 30: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Test your codeAutomatisierte Tests

http://www.phpunit.de

30Montag, 28. Februar 2011

Page 31: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Eigenschaften von Tests mit PHPUnit:

• leicht zu lernen, sie zu schreiben

• leicht zu schreiben

• leicht zu lesen

• leicht auszuführen

• schnell auszuführen

• isoliert (z.B. Änderung der Reihenfolge macht nichts)

• kombinierbar

31Montag, 28. Februar 2011

Page 32: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Tests in

über Kontextmenü

32Montag, 28. Februar 2011

Page 33: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Tests in

33Montag, 28. Februar 2011

Page 34: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Tests inTER Extension: phpunit von Oliver Klee

34Montag, 28. Februar 2011

Page 35: PhpStrom git phpunit_t3ak11

www.lightwerk.com

PHPUnit ist eine TYPO3 Extension, die folgendes bietet:• Das PHPUnit unit-test Framework von Sebastian

Bergmann

• vfsStream (ein „virtual file system“)

• Backend-Modul zum Ausführen von Unit-Tests für Extensions in einer TYPO3 Installation

• CLI Test Runner, mit dem Tests auf der Kommandozeile oder in einer „Continuous-Integration“-Umgebung ausgeführt werden können

35Montag, 28. Februar 2011

Page 36: PhpStrom git phpunit_t3ak11

www.lightwerk.com

36Montag, 28. Februar 2011

Page 37: PhpStrom git phpunit_t3ak11

www.lightwerk.com

Vielen Dank für die AufmerksamkeitRalf Merz <[email protected]>

37Montag, 28. Februar 2011