PhpStrom git phpunit_t3ak11

Post on 19-May-2015

1.960 views 1 download

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

www.lightwerk.com

1Montag, 28. Februar 2011

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

www.lightwerk.com

Was ist PhpStorm?

• Integrated Development Enviroment

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

• cross-plattform

3Montag, 28. Februar 2011

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

www.lightwerk.com

Umfangreicher JavaScript

Editor• DOM-basierte /

browserspezifische Vervollständigung

• Code Navigation und Suche• JavaScript Refactoring• JavaScript Debugger

5Montag, 28. Februar 2011

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

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

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

www.lightwerk.com

Komplette PHP 5.3 Unterstützung

9Montag, 28. Februar 2011

www.lightwerk.com

Neues Git Log User Interface

10Montag, 28. Februar 2011

www.lightwerk.com

Automatische Code Vervollständigung, sogar bei Array Indexen

11Montag, 28. Februar 2011

www.lightwerk.com

GitHub Integration12Montag, 28. Februar 2011

www.lightwerk.com

Mercurial Unterstützung13Montag, 28. Februar 2011

www.lightwerk.com

Command Line Tool Unterstützung

14Montag, 28. Februar 2011

www.lightwerk.com

Advanced Code Inspection

15Montag, 28. Februar 2011

www.lightwerk.com

Verbesserte SQL Konsole16Montag, 28. Februar 2011

www.lightwerk.com

17Montag, 28. Februar 2011

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

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

www.lightwerk.com

Subversion vs. Git

http://whygitisbetterthanx.com

20Montag, 28. Februar 2011

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

www.lightwerk.com

Alles ist lokal22Montag, 28. Februar 2011

www.lightwerk.com

Git ist schnell und klein23Montag, 28. Februar 2011

www.lightwerk.com

Staging Area oder Index24Montag, 28. Februar 2011

www.lightwerk.com

Workflow Arten mit Git

25Montag, 28. Februar 2011

www.lightwerk.com

SVN-artiger Workflow26Montag, 28. Februar 2011

www.lightwerk.com

Über Integration Manager27Montag, 28. Februar 2011

www.lightwerk.com

Dictator und Lieutenants Workflow

28Montag, 28. Februar 2011

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

www.lightwerk.com

Test your codeAutomatisierte Tests

http://www.phpunit.de

30Montag, 28. Februar 2011

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

www.lightwerk.com

Tests in

über Kontextmenü

32Montag, 28. Februar 2011

www.lightwerk.com

Tests in

33Montag, 28. Februar 2011

www.lightwerk.com

Tests inTER Extension: phpunit von Oliver Klee

34Montag, 28. Februar 2011

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

www.lightwerk.com

36Montag, 28. Februar 2011

www.lightwerk.com

Vielen Dank für die AufmerksamkeitRalf Merz <rfm@lightwerk.com>

37Montag, 28. Februar 2011