41
Effizientere PHP Entwicklung mit Zend Studio Richtiger Umgang mit wichtigen Funktionen Projektarbeit Nr.: 1 vorgelegt am: 07.10.2010 von: Matrikelnummer: Berufsakademie: Berufsakademie Gera Weg der Freundschaft 4a 07546 Gera Studienbereich: Technik Studiengang: Praktische Informatik Kurs: Ausbildungsstätte: dotSource GmbH Leutragraben 1 07743 Jena Betreuer: Christian Otto Grötsch MBE

Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

Embed Size (px)

Citation preview

Page 1: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

Effizientere PHP Entwicklung mit Zend Studio

Richtiger Umgang mit wichtigen Funktionen

Projektarbeit Nr.: 1

vorgelegt am: 07.10.2010

von:

Matrikelnummer:

Berufsakademie: Berufsakademie Gera

Weg der Freundschaft 4a

07546 Gera

Studienbereich: Technik

Studiengang: Praktische Informatik

Kurs:

Ausbildungsstätte: dotSource GmbH

Leutragraben 1

07743 Jena

Betreuer: Christian Otto Grötsch MBE

Page 2: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

II

Inhaltsverzeichnis

Inhaltsverzeichnis ............................................................................ ii

Abbildungsverzeichnis ...................................................................... iv

Abkürzungsverzeichnis ...................................................................... v

1 Einleitung............................................................................... 6

1.1 Integrierte Entwicklungsumgebungen, eine oft verkannte Unterstützung .... 6

1.2 Zielsetzung der Arbeit ................................................................ 7

2 Entwicklungsumgebungen und deren wachsende Relevanz .................. 8

2.1 Aufbau und Verwendung .............................................................. 8

2.2 Evolutionsstufen ....................................................................... 8

2.3 Aktueller Stand für PHP ............................................................... 9

2.4 Zend Studio - Kurzübersicht ......................................................... 10

3 Arbeiten mit dem Zend Studio .................................................... 11

3.1 Aufbau des Programms ............................................................... 11

3.2 Funktionserweiterung mithilfe des Plugin Systems .............................. 12

3.3 Projekt anlegen und Workspace Einstellungen treffen .......................... 13

3.4 Anwendung von Standardfunktionen ............................................... 14

3.5 Dokumentationen anfertigen mit PHPDocumentor .............................. 15

3.6 Formatierungen einhalten mit PHP CodeSniffer ................................. 19

3.7 Teamarbeit mittels Subversion ..................................................... 21

3.8 Integration von Subclipse in Zend Studio.......................................... 22

3.9 Repository aktivieren und auschecken ............................................ 22

3.10 Prozedur des SVN Merge-, Update-, und Eincheckvorgangs .................... 23

3.11 Zend Debugger ........................................................................ 25

3.12 Installation und Konfiguration des Debuggers .................................... 26

3.13 Verwendung des Debuggers ......................................................... 27

3.14 Abschließende Worte zu Erweiterungen ........................................... 30

4 Fazit .................................................................................... 31

Anlagenverzeichnis .......................................................................... 32

Anlage A: Plugin Downloadlinks ........................................................... 33

Page 3: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

III

Anlage B: Wichtige Shortcuts .............................................................. 34

Anlage C: Wichtige PHPDocumentor Tags ............................................... 36

Literaturverzeichnis ......................................................................... 37

Glossar ......................................................................................... 38

Ehrenwörtliche Erklärung .................................................................. 41

Page 4: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

IV

Abbildungsverzeichnis

Abbildung 1 PHP IDE Vergleich. Mit Änderungen entnommen aus: [Goo09] .......... 10

Abbildung 2 Perspective mit drei Views ................................................... 12

Abbildung 3 Content Assist .................................................................. 15

Abbildung 4 PHPDocumentor Methoden-Tag .............................................. 17

Abbildung 5 PHPDocumentor Methoden-Tag .............................................. 18

Abbildung 6 PHP CodeSniffer - Einstellungen ............................................. 20

Abbildung 7 PHP CodeSniffer - Editorintegration von Fehlern ......................... 21

Abbildung 8 Team-Synchronisation mit SVN-Dateivergleich ............................ 24

Abbildung 9 Firefox mit Zend Toolbar ..................................................... 26

Abbildung 10 ZendDebugger – Profiler ..................................................... 28

Abbildung 11 Debug Perspective ............................................................ 29

Page 5: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

V

Abkürzungsverzeichnis

CSS Cascading Style Sheets

HTML Hypertext Markup Language

IDE Integrated Software Environment

JS JavaScript

PDT PHP Development Tool

PHP Hypertext Preprocessor

SEU Softwareentwicklungsumgebung

SVN Subversion

UML Unified Modeling Language

Page 6: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

6

1 Einleitung

Einige der wichtigsten Ziele bei der Programmierung von Software sind es, diese

fehlerfrei, schnell und sauber, d.h. gut strukturiert und leserlich, zu entwickeln. Je

größer ein Projekt, je mehr Entwickler daran beteiligt oder auch je weniger Zeit

dafür eingeplant ist, desto stärker wird die Nachfrage nach effizienten Hilfen bei

der Entwicklung.

1.1 Integrierte Entwicklungsumgebungen, eine oft verkannte Unterstützung

„Eine sehr nahe liegende Idee ist hier, die entwickelten Methoden selbst wieder

als Software zu realisieren, d.h. spezielle Programme, sogenannte (Soft-)

Werkzeuge zu entwickeln, die den Softwareentwickler bei seiner Arbeit

unterstützen.“1 Dieser Gedanke führte zur Entwicklung sogenannter integrated

software environments (IDE), welche dem Entwickler die von ihm oft verwendeten

oder auch dringend benötigten Funktionen in einer einheitlichen Schnittstelle zur

Verfügung stellen. Die Verbreitung solcher Programme ist im Laufe der Jahre stark

gewachsen, woraufhin sich viele Referenzprodukte für die jeweiligen Sprachen

herausgebildet haben. Eines dieser Produkte ist das Zend Studio für die

Scriptsprache Hypertext Preprocessor (PHP).

Jedoch wird häufig die Mächtigkeit solch eines Werkzeugs von Entwicklern

unterschätzt, bzw. sieht man nicht die Notwendigkeit sich in die Software

einzuarbeiten. Dies kann eine ineffiziente Arbeit mit der unterstützenden Software

zur Folge haben.

1 [Eng98], S. 7

Page 7: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

7

1.2 Zielsetzung der Arbeit

Die dotSource GmbH, in welcher der Autor arbeitet, hat sich auf den Bereich des

Social Commerce ausgerichtet. Aufgrund dieser Spezialisierung verwendet sie in

der Umsetzung gewünschter Funktionen unter anderem auch die Sprache PHP. Als

Firma mit großen Projekten in der Softwareentwicklung ist ihr die effiziente

Entwicklung von Software ein wichtiger Faktor, welcher immer wieder einer

Leistungssteigerung unterzogen wird.

Die folgende Praxisarbeit wird sich mit dem Zend Studio, einer

Entwicklungsumgebung für PHP, befassen. Ziel ist es dem Leser mit dieser Arbeit

ein Dokument zu liefern, was ihm in der ersten Hälfte die Bedeutung von IDEs

näher bringt und ihm anschließend die Arbeit mit der genannten

Entwicklungsumgebung praxisnah darlegt. Dabei werden verschiedene, für die

Entwicklung relevante Funktionalitäten und Verfahrenswege erläutert und

dokumentiert. Hierbei wird sich diese Arbeit mit einigen wenigen, jedoch sehr

wichtigen Funktionen auseinandersetzen. Deren Auftreten wird sich an den

Arbeitsprozessen in einem Softwareunternehmen orientieren. Da in dieser Arbeit

nur auf ein Teil der Funktionspalette und Zusatzprogramme der IDE eingegangen

werden kann, sei der Leser hier bereits bei Bedarf auf weiterführende Lektüre

verwiesen.

Page 8: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

8

2 Entwicklungsumgebungen und deren wachsende

Relevanz

Im ersten Teil der Arbeit soll es theoretischer Art um

Softwareentwicklungsumgebungen (SEU) gehen. Es wird konkret auf die

Verwendung und die Entwicklung der Programme eingegangen.

2.1 Aufbau und Verwendung

Man kann eine Entwicklungsumgebung im Wesentlichen in die beiden Bereiche

Funktionalität und Benutzerschnittstelle gliedern. Die Funktionalität repräsentiert

dabei den Umfang der Werkzeuge, welche verwendet werden können. Letzterer

stellt die Art und Weise der Anwendung von den Funktionen dar. Die Eingabe kann

sich dabei von Kommandozeilen bis zu kontextsensitiven Auswahlboxen erstrecken.

Die Ausgabe geschieht heute meist grafisch (z.B. über den Editor). Des Weiteren

können Funktionen in einzelnen Bereichen des Bildschirms getrennt dargestellt

werden, was einer besseren Übersicht zugute kommt. SEUs enthalten i.d.R

programmiersprachenabhängige Funktionen. Einige Funktionalitäten, wie z.B. das

Syntax Coloring und die Content Assist Funktion, sind jedoch in den meisten

Umgebungen enthalten. Sie unterscheiden sich nur durch die sprachabhängige

Verwendung in den einzelnen SEUs. Hinzu kommen meist Zusatzfunktionen, die

nicht direkt der Entwicklung, sondern der Pflege des Projektes, dienen. Dieses

wären z.B. Dokumentationsanfertigungen, welche über die IDE realisiert werden

können.

2.2 Evolutionsstufen

Als erste Vorreiter der heutigen SEUs könnten beispielsweise Compiler und Linker

genannt werden. Sie stellen dem Nutzer bereits Funktionen in vereinfachter Form

Page 9: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

9

bereit. Jedoch ist die Benutzerschnittstelle und die benötigten Kommandos bei der

Verwendung unterschiedlicher Programme meist nicht einheitlich. Zusätzlich ist

auch der Funktionsumfang bei beispielsweise gleichen Compilern unterschiedlicher

Entwickler nicht gleichwertig. Der wachsenden Relevanz einer einheitlichen

Verwendung folgten daher Softwareproduktionsumgebungen, welche diese

Vereinheitlichung anbieten. Zusätzlich wurden zu dieser Zeit bereits

Forschungsprojekte in Leben gerufen, die eine Weiterentwicklung solcher

Umgebungen fördern.2 In weiteren Evolutionsstufen wurde dann zumeist der

Funktionsumfang erweitert, sodass die Entwicklungsumgebung eine größere

Bandbreite an unterstützenden Arbeiten anbietet. Heute sind die SEUs in der

Bedienung ausgereift und stellen die wichtigsten Funktionen integriert in ihrem

Funktionskern zur Verfügung, teilweise sogar maschinenunabhängig (Zend Studio

selbst ist solch eine plattformunabhängige Entwicklungsumgebung).

2.3 Aktueller Stand für PHP

Im PHP Sektor haben sich im Laufe der Jahre einige Programme durchgesetzt.

Dabei ist zu beachten, dass PHP i.d.R. mittels eines Interpreters in Form eines

Webservers eingesetzt wird. Dies bedeutet, dass nicht die Skriptsprache alleinig,

sondern auch Hypertext Markup Language (HTML) und JavaScript (JS) bei der

Entwicklung zum Einsatz kommen. Die softwareseitige Entwicklungsunterstützung

aller drei Sprachen ist ein nicht zu unterschätzendes Kriterium bei der Platzierung

einer IDE. Drei der wichtigsten Vertreter sind unabhängige Weiterentwicklungen

der Software Eclipse: Zend Studio, PHP Development Tool (PDT) und Aptana. Des

Weiteren weiteren wäre noch NetBeans zu nennen, welches, ebenso wie Eclipse,

ursprünglich zur Entwicklung mit Java verwendet wird. Die nachfolgende Abbildung

zeigt einen Auszug der Unterschiede zwischen den einzelnen IDEs. Die Vollständige

Liste kann in Anlage G betrachtet werden.

2 [Eng98], S. 112 ff.

Page 10: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

10

Abbildung 1 PHP IDE Vergleich. Mit Änderungen entnommen aus: [Goo09]

2.4 Zend Studio - Kurzübersicht

Zend Studio ist eine Weiterentwicklung des PDT Projektes. Im Gegensatz zu diesem

ist es kostenpflichtig, bietet jedoch einige Verbesserungen, wie z.B. die Integration

des ZendDebuggers. Es ist spezialisiert auf die Entwicklung mit HTML, JS, Cascading

Style Sheets (CSS) und vor allem PHP. Es bietet verschiedene, für die eben

genannten Sprachen nutzvolle, Funktionen, welche die Effektivität von

Softwareentwicklungen erheblich steigern können. Damit dieser Leistungsgewinn

jedoch auch nutzbar sein kann, sollten verschiedenste Abläufe, Funktionen und

Eigenschaften der Software bekannt und anwendbar sein.

Page 11: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

11

3 Arbeiten mit dem Zend Studio

Das nun folgende Kapitel wird sich mit dem Zend Studio in der Praxis beschäftigen.

Die dabei genannten Abläufe wurden anhand der Version 7.2 erstellt. Es werden

Funktionalitäten in einer praxisrelevanten Reihenfolge erläutert.

3.1 Aufbau des Programms

Das Programm ermöglicht es dem Entwickler seine Funktionen mittels sogenannten

Perspectives und Views strukturell zu trennen. Ersteres, die Views, dienen dazu

große Funktionsblöcke in eigenen Ansichtseinstellungen zu nutzen. Beispielsweise

kann man das Debuglayout völlig von der Entwicklungsansicht getrennt gestalten.

Die Views dienen der Anzeige einzelner Funktionen einer Perspective. Diese lassen

sich bei Bedarf anzeigen und sind frei im Programm per verschiebbar. Das folgende

Bild zeigt die PHP-Perspective mit drei vertikalen Views.

Page 12: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

12

Abbildung 2 Perspective mit drei Views

3.2 Funktionserweiterung mithilfe des Plugin Systems

Zend Studio bietet die komfortable Möglichkeit der Erweiterung über Plugins. Die

Installation kann dabei auf zwei Arten durchgeführt werden. Zum Einen werden die

geladenene Plugindateien in den Installationsordner von Zend Studio händig

eingepflegt oder sie werden über den integrierten Installationsmanager geladen.

Der Manager kann in der Menüleiste unter Help → Install New Software...

aufgerufen werden. Darin wird die URL des Plugins eingegeben und die IDE

kümmert sich selbständig um Download und Einrichtung. Es sei noch erwähnt, dass

in der Menüleiste unter Help → Check For Updates nach Aktualisierungen der

bereits installierten Funktionen geschaut werden kann. Nach der Installation und

einem Neustart ist die Erweiterung i.d.R. bereits voll einsatzfähig. Möchte man

dennoch Änderungen vornehmen, so ergänzen sich dafür meist neue Einträge unter

Page 13: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

13

den Workspace-/ Projekteinstellungen, welche zur Anpassung des Plugins

verwendet werden können.

3.3 Projekt anlegen und Workspace Einstellungen treffen

Softwareentwicklungen finden innerhalb eines sogenannten Projektes statt. In solch

ein Projekt werden die später folgenden Skripte angezeigt. Zend Studio bietet dazu

die Möglichkeit in einem Workspace, sprich einem Ausgangsverzeichnis für

abzulegende Daten, ein oder mehrere Projekte anzulegen und über seine Explorer -

Perspektive zu verwalten. Dazu wählt man zuerst in der oberen Menüleiste unter

File → Switch Workspace → Other ein gewünschtes Verzeichnis aus. Im nächsten

Schritt legt man mit einem Klick auf File → New → Project und der Eingabe eines

Projekttypen und -namens ein neues Projekt an. Mit dem Typen aktiviert das

Programm intern verschiedene Funktionen, wie bspw. Syntax Coloring, auf welche

im Kapitel Anwendung von Standardfunktionen noch kurz eingegangen wird. Hier sei

vorerst nur gesagt, dass Zend Studio, da es für PHP gedacht, hauptsächlich unter

Verwendung von PHP Projekten genutzt wird. Mit diesen zwei Angaben ist Eclipse

zum Verwenden seiner Funktionen bereit und kann zum Entwickeln verwendet

werden.

Wenn nun der Bedarf an Änderungen des Eclipseverhalten oder -aussehens, welches

über das Ausrichten von Views hinaus geht, besteht, so können weitere gewünschte

Einstellungen für das Projekt oder den Workspace getroffen werden. Die

zugehörigen Einstellungen sind zu finden unter Window → Preferences. In diesem

Eigenschaftenfenster lassen sich sämtliche, von Eclipse vorgesehene, Einstellungen

ändern. Des Weiteren existieren noch Projekteinstellungen. Zu finden sind diese

unter Project → Properties. Die Einstellungen des Projektes sind vererbte des

Workspace. Weshalb man sämtliche Einstellungen innerhalb eines Projektes

unabhängig vom Workspace konfigurieren kann. Vom Anschalten von

Page 14: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

14

Sprachvalidatoren, über das Einstellen von Editorfarben, bis hin zur Änderung von

Shortcuts. Für genauere Ausführungen sei hier auf den Zend Studio User Guide im

Anhang verwiesen.

3.4 Anwendung von Standardfunktionen

Standardmäßig liefert Zend Studio bereits einige nützliche Funktionen. Einen

kurzen Überblick soll dieses Kapitel liefern.

Als Erstes ist das Syntax Coloring erwähnenswert. Es ermöglicht das visuelle

Erfassen von Methoden, Strings, Kommentaren und vielem Weiteren. Es wird

selbständig beim Öffnen einer Datei mittels PHP Editor – View verwendet.

Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich.

Schreibt man einen Befehl, sei es eine PHP-Funktion, einen Klassennamen oder

eine Variable, so kann nach Tippen von einigen Buschstaben des Namens die

Tastenkombination Strg + Leertaste gedrückt werden um eine

Vervollständigungsliste von möglichen Namen des aktuell geschriebenen Wortes zu

öffnen. Die folgende Abbildung stellt ein solches Beispiel dar.

Page 15: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

15

Abbildung 3 Content Assist

Hierbei wurde nach PHP Funktionen gesucht, welche mit dem Präfix array_

beginnen. Des Weiteren kann man erkennen, dass rechts neben den

Auswahlmöglichkeiten noch der PHPDoc der entsprechenden Methode angezeigt

wird. Dazu im nächsten Kapitel: Dokumentationen anfertigen mit PHPDocumentor mehr.

Weitere Funktionen sind beispielsweise das Validieren von HTML Fehlern in einer

Datei und dessen visuelle Ausgabe im PHP Editor, sowie das Refacturing von

Dateien mit einer globalen Änderung des Klassen-, Methoden- oder

Variablennamen. Das ausführliche Behandeln aller Funktionen würde jedoch den

Rahmen dieser Arbeit übersteigen, deswegen sei hier auf das Handbuch von Zend

Studio, welches unter Anlage D: Zend Studio 7.2 User Guide zu finden ist,

verwiesen.

3.5 Dokumentationen anfertigen mit PHPDocumentor

Eine der Wichtigsten Arbeiten eines Entwicklers stellt die Anfertigung von

Dokumentationen dar. Diese sind in jeder Entwicklungsphase von hoher Priorität zu

versehen, da sie die Wartbarkeit des Codes ungemein erleichtern. Es können je

nach Anforderung unterschiedliche Abstraktionsebenen zur Anfertigung verwendet

werden. Dazu gehören beispielsweise Syntax-Diagramme oder eben auch die

Dokumentation innerhalb des Quelltextes.

Page 16: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

16

Vor der eigentlichen Implementierung des Codes befasst man sich mit der

Umsetzung, sodass hier bereits vor der Implementierung später auftretende

Probleme erkannt und nicht erst in abschließen Tests gefunden und behoben

werden müssen. Während des Programmierens helfen gesetzte Kommentare den

Code verständlich zu halten. Zu guter Letzt muss man die anfängliche

Dokumentation den entsprechenden, in der Umsetzung aufgetretenen Änderungen

abermals anpassen und so auf dem aktuellen Stand halten. Zend Studio bietet für

jeden dieser Schritte eine Unterstützung.

Für die Dokumentation des Codes bietet es sich an, den in Zend Studio integrierten,

PHPDocumentor zu verwenden. Mit diesem Programm lassen sich gewünschte

Klassen, deren Methoden und Variablen in einer HTML, PDF oder XML Übersicht

generieren. Ein weiterer Vorteil dieses Dokumentationsprogrammes besteht darin,

dass zusätzliche Kommentare zur Erläuterung von Klassen, Methoden und Variablen

verwendet werden können. Die dafür benötigten Kommentarzeichen sind /** zum

Öffnen und */ zum Schließen des Kommentars. Dieser baut sich aus einer Kurz- und

Langbeschreibung, sowie sogenannten DocBlock-Tags zusammen. In der folgenden

Abbildung wird die Verwendung eines solchen Kommentares gezeigt:

Page 17: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

17

Abbildung 4 PHPDocumentor Methoden-Tag

Zuerst wird die Kurzbeschreibung angegeben. Sie wird durch ein Leerzeichen von

der Langbeschreibung getrennt. Als Letztes folgen die Tags. Sie werden mit einem

@ vorangestellt gestartet und dienen der Nennung von z.B. Parametern,

Rückgabewerten oder dem Autor. Wichtige Tags und deren Bedeutung können der

Tabelle in Anlage C: Wichtige PHPDocumentor Tags entnommen werden. Hat man

nun Klassen fertiggestellt und möchte sie mittels Übersicht zur Verfügung stellen,

so reicht ein Klick auf Project → Generate PHPDoc... und Angabe der zu

generierenden Dateien. In der folgenden Abbildung ist eine solche HTML Übersicht

eines Projektes zu sehen.

Page 18: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

18

Abbildung 5 PHPDocumentor Methoden-Tag

In der Praxis stellt sich das ausschließliche dokumentieren von Code als nicht

ausreichend dar. Dafür bietet Zend Studio jedoch über sein Plugin System ebenfalls

Erweiterungen zur Verfügung, wie z.B. zur Modellierung des Projektes mit der

Unified Modeling Language (UML) über AmaterasUML oder ArgoEclipse. Beide bieten

die Möglichkeit Sequenz-, Klassen-, Aktivitäts- und Usecase Diagrammme zu

erstellen. Installiert werden sie über den Update- und Installationsmanager von

Eclipse. Es soll hier nicht weiter auf die entsprechenden Funktionen der einzelnen

Diagrammtypen eingegangen werden.

Page 19: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

19

3.6 Formatierungen einhalten mit PHP CodeSniffer

Eine ebenso nicht unbetrachtliche Wichtigkeit in der Softwareentwicklung nimmt

die richtige Formatierung ein. Ihre Priorität liegt darin begründet, dass ein Einlesen

in die Entwicklung eines anderen Mitarbeiters leicht vonstattengehen sollte. Dies

kann betrachtlich verbessert werden, wenn in einem Projekt stets die gleiche

Formatierung verwendet wird, sodass das Schreiben eines Quelltextes einheitlich

gestaltet und übersichtlich zu lesen ist. Ein nützliches Plugin zur Gewährleistung

einer einheitlichen Quelltextformatierung stellt der PHP CodeSniffer dar. Installiert

werden kann er ebenfalls über den Installationsmanager von Zend Studio. Nach

erfolgreicher Installation findet sich nun in den Workspace Einstellungen ein neuer

Eintrag unter PHP Tools → PHP CodeSniffer. Hierin können verschiedene

Einstellungen zu den verwendeten Formatierungen getroffen werden. Dazu gehören

die Auswahl eines Formatierungsstandards und die genauere Anpassung dessen in

Form von Einstellungen wie Tabulatorweite oder zu ignorierende Sniffs. Die

nachfolgende Abbildung zeigt ein Beispiel der Einstellmöglichkeiten dieser

Optionen.

Page 20: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

20

Abbildung 6 PHP CodeSniffer - Einstellungen

Nachdem nun diese Einstellungen getroffen wurden, muss der CodeSniffer in Zend

Studio noch aktiviert werden. In den Workspac Einstellungen unter Validation →

PHP CodeSniffer Validator kann dieser auf manuelle Validierung der

Formatierungen und / oder automatische Aktivität eingestellt werden. Erstere kann

im Kontextmenü der PHP – Perspective auf einzelne Dateien angewandt werden,

Letztere aktiviert sich selbständig nach Speicherung einer Quelltextdatei. Findet

der CodeSniffer Formatierungsfehler, so zeigt er diese visuell innerhalb der

Page 21: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

21

fehlerhaften Quelldatei an. Die folgende Abbildung zeigt einen Ausschnitt eines

Formatierungsfehlers, bei welchem die Einrückung von mehrzeiligen Befehlen nicht

der aktivierten Formatierungsregel entspricht.

Abbildung 7 PHP CodeSniffer - Editorintegration von Fehlern

3.7 Teamarbeit mittels Subversion

Wird ein Projekt unter mehreren Entwicklern erstellt, so ist es wichtig jedem stets

die aktuellste Version der Dateien bereithalten zu können. Des Weiteren ist es

wichtig Änderungen zu dokumentieren und gegebenenfalls das Projekt auf einen

älteren Stand zurücksetzen zu können. Hier kommt das Versionskontrollprogramm

Subversion (SVN) ins Spiel. Es dokumentiert selbständig Änderungen an Dateien.

Dazu legt es bei jedem Speichervorgang, dem sogenannten Einchecken, eine neue

Revisionsnummer an, mit deren Hilfe stets ersichtlich ist wann, was genau und wo

etwas geändert wurde. Zusätzlich bietet dies den Vorteil, dass der Entwickler bei

aktualisieren seiner Dateien nicht mehr alle neu kopieren, sondern nur noch die

seit seinem letzten Aktualisierungvorgang geänderten Dateien neu aus dem

Repository zu beziehen braucht. Die SVN Unterstützung in Zend Studio wird

beispielsweise über die Plugins Subclipse und Subversive bereitgestellt. Die

nachfolgenden Ausführungen werden anhand von Subclipse erläutert, wobei sich

dieses jedoch von Subversive nur marginal unterscheidet.

Page 22: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

22

3.8 Integration von Subclipse in Zend Studio

Nach der Installation über den Updatemanager von Zend Studio integriert sich das

Programm selbständig in die Explorer Perspektive. Die Symbole der einzelnen

Dateien und Ordner werden mit kleinen Zeichen versehen, die den aktuellen Status

anzeigen. Des Weiteren ist im Kontektmenü der Eintrag Team mit allen

Funktionalitäten des SVN - Clients versehen. Die Team Synchronisation - View

bietet eine Übersicht zu den lokal und im Repository geänderten Dateien. Des

Weiteren kann jetzt auch die SVN Exploring – View verwendet werden.

3.9 Repository aktivieren und auschecken

Die SVN Exploring - Perspective bietet Zugriff auf ein gesamtes Repository. Der hier

enthaltene Eintrag zum Repository wird benötigt, damit die SVN Funktionen in

einem Projekt genutzt werden können. Hier wird für Zend Studio definiert, mit

welchen Dateien sich das Projekt synchronisieren muss, also welche lokalen

Dateien ein Abbild des Repositorys darstellen sollen. Nach einen Klick auf Add SVN

Repository (zu finden in der oberen rechten Hälfte der SVN Repositories - View),

der Eingabe der Repository URL und evtl. der Eingabe eines Nutzernamens und

Passworts ist das Repository sichtbar, bzw. dessen Zugriff aktiviert. Nun wählt man

den gewünschten Ordner, welcher sich i.d.R trunk nennt, und wählt nach Klick auf

den gewünschten Ordner im Kontextmenu auf Checkout. Nach Auswahl, ob diese

Dateien als ein gesamtes Projekt ausgecheckt oder sich in ein vorhandenes

integrieren sollen, ist der Vorgang des erstmaligen Dateibezugs beendet. Fortan

kann man über die bereits erwähnte Team Synchronisation - Perspective und dem

Kontextmenü die Repository Dateien aktualisiert werden.

Page 23: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

23

3.10 Prozedur des SVN Merge-, Update-, und Eincheckvorgangs

Diese drei Tätigkeiten werden idealerweise in der Team Synchronisation -

Perspective getätigt. Der Vollständigkeit halber sei hier erwähnt, dass diese

Funktionen auch im Kontextmenu des PHP Explorers aufgerufen werden können.

Dies ist jedoch aufgrund der mangelnden Übersicht, vor allem über Dateikonflikte,

nicht zu empfehlen. Durch einem Klick auf Synchronize SVN in der Synchronize –

View ist die Liste aktualisiert. Nun kann nach lokalen Dateiänderungen, Änderungen

im Repository und nach Merge Konflikten gefiltert werden. Über das Kontextmenü

können jetzt einzelne Dateien verglichen oder Änderungen auf beiden Seiten

synchronisiert werden.

Bevor jedoch Änderungen in das lokale Verzeichnis oder das des SVN überschrieben

werden sollte zuerst nach Merge-Konflikten geschaut werden. Dies sind

Dateiänderungen, welche beim synchronisieren Probleme hervorrufen werden.

Nimmt man Änderungen an Textdateien vor, so können diese auf der anderen Seite

(lokal oder Repository), sofern sie nicht die selbe Zeile betreffen, ohne Probleme

synchronisiert werden. Bei binären Dateien (z.B. Bildern) oder Änderungen an einer

gleichen Textzeile, muss der Nutzer entscheiden, welche der Änderungen die

richtige oder aktuellste ist. Dazu wählt man im Kontextmenü Edit Conflicts aus. Es

öffnet sich ein Editorfenster zum Vergleich der lokalen Datei mit der aktuellen

Repository Version. Auf der linken Seite ist die lokale und auf der rechten die des

Repository zu sehen. Die nachfolgende Abbildung zeigt solch ein Vergleichsfenster.

In ihm sind sämtliche Differenzen ersichtlich und können sofort mittels Klick auf die

Verbindungsstellen behoben werden oder müssen bei Konflikten vom Entwickler

von Hand nachbearbeitet werden.

Page 24: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

24

Abbildung 8 Team-Synchronisation mit SVN-Dateivergleich

Die mit rot markierten Streifen zwischen den Editoren signalisieren Konfliktzeilen.

Nachdem man sich diese angesehen und/oder editiert hat, wählt man im

Kontektmenü Override and Update oder Override and Commit. Der erste Punkt

dient dazu SVN mitzuteilen, dass nicht bearbeitete Konflikte vom SVN in die lokale

Datei zu überspielen sind. Der zweite Punkt überspielt die aktuelle Datei ins SVN

ohne auf weitere Konflikte zu achten. Alternativ können auch die editierten

Änderungen vorerst nur lokal beibehalten werden. Dazu wählt man den Punkt Mark

As Merged um die Änderungen dem SVN einem späteren Zeitpunkt zu übermitteln.

Treten keine Konflikte mehr auf und man möchte sämtliche Dateiänderungen aus

dem Repository beziehen, so tätigt man dies mit einem Klick auf Update All

Page 25: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

25

Incoming Changes in der Synchronize - View. Damit werden sämtliche Repository

Änderungen in die lokalen Dateien einfügen.

Wurden Änderungen an den Dateien auf lokaler Seite vorgenommen, so wird mit

einem Klick im Synchronize View unter Commit All Outgoing Changes... ein Dialog

geöffnet. In diesem nachfolgenden Fenster wird mit der Auswahl eines Commit

Kommentars und der Markierung der zu übertragenen Dateien der Commit initiiert.

Dies bedeutet, dass die Ordner und Dateien in das Repository eingepflegt und die

Revisionsnummer erhöht wird.

3.11 Zend Debugger

Früher oder später werden in einer Entwicklung Fehler entstehen. Das Debugging

mittels Software stellt eines der wichtigsten Funktionalitäten beim Testen von

Software dar. Es ermöglicht den Script (oder auch das Programm) dynamisch, d.h.

beim Ausführen, an gewünschter Stelle zu pausieren und sich den aktuellen

Zustand des ausgeben und evtl. sogar ändern zu lassen. Somit können Fehler bei

richtiger Anwendung (sogenannte Bugs) schneller und einfacher als bspw. mit

Testausgaben von einzelnen Variablen im Browser gefunden und behoben werden.3

Der Zend Debugger ist ein sogenannter Remotedebugger. Er ermöglicht es den

Debugprozess auf einem externen Server auszuführen und die Dateien für

Debugprozesse zu nutzen. Mit den nächsten Kapiteln sollen die vorbereitenden

Tätigkeiten und die mögliche Nutzung des Debuggers gezeigt werden.

3 [Pri06], S. 21

Page 26: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

26

3.12 Installation und Konfiguration des Debuggers

Zur Installation des Debuggers benötigt man zwei Dateien. Zum Einen muss man im

Root Verzeichnis des auszuführenden Servers eine Datei namens dummy.php

speichern und zum Zweiten wird eine Bibliotheksfunktion zum Ausführen des

Programms benötigt. Deren Standort variiert je nach verwendetem Betriebssystem.

Sind beide in den entsprechenden Verzeichnissen hinterlegt muss man dem Server

in der php.ini nur noch die Erlaubnisse eines Remotezugriffs mitteilen.4 Nun kann

der Debugger im Zend Studio genutzt werden. Genauere Anleitung zur Installation

kann in Anlage E: Installing the Zend Debugger eingesehen werden.

Des Weiteren ist ein Plugin für den Browser Firefox von Nutzen. Die sogenannte

Zend Studio Toolbar integriert sich nach Installation reibungslos in den Browser und

bietet vereinfachten Zugriff auf Debugprozesse von Zend Studio. Die URL der

Installationsdatei kann in Anlage A: Plugin Downloadlinks eingesehen werden.

Nachfolgend zeigt eine Abbildung den Ausschnitt des Browserfensters, in welchem

die Toolbar integriert wird. Relevante Nutzungseinstellungen des Plugins sind keine

zu treffen, da benötigte Änderungen einzig auf Serverseite mittels dummy.php und

php.ini getroffen werden müssen.5

Abbildung 9 Firefox mit Zend Toolbar

4 [Zen07], S. 1 f. 5 [Zen09], S. 3 ff.

Page 27: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

27

3.13 Verwendung des Debuggers

Der Zend Debugger beherrscht im Wesentlichen das Profiling, das ausgeben eines

Stack Traces und letztendlich natürlich das Debuggen selbst. Im Folgenden werden

diese separat behandelt, da sie eigenständige Funktionalitäten darstellen.

Kommt ein Script beim Aufruf auf lange Ausführungszeiten, so ist es wichtig den

Bereich der Zeiteinbußen einzugrenzen. Der Profiler dient hier als entscheidende

Hilfe. Er wird mittels Browser-Toolbar oder im Zend Studio selbst auf eine

Serveranfrage (oder auch Serverrequest), d.h. das Ausführen eines Scriptes,

angewandt. Nachdem der Request beendet ist, zeigt er verschiedene Eigenschaften

in einer Statistik an. Die nachfolgende Abblidung zeigt solch eine Statistik.

Enthalten sind die Anzahl der Aufrufe einer Klasse bzw. Methode, die Gesamtzeit,

mit welcher der Server in diesem Teil der Datei mit der Abarbeit beschäftigt war

und Aufrufanzahl.

Page 28: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

28

Abbildung 10 ZendDebugger – Profiler

Die namensgebende Funktion ist das Debuggen. Mit ihr kann man die Ausführung

des Skriptes an beliebiger Stelle pausieren und sich die aktuellen

Variablenbelegungen anzeigen lassen. Um dem Skript mitzuteilen, wo er halten

soll, müssen sogenannte Breakpoints gesetzt sein. Sie sind Haltepunkte, mit denen

man dem Server mitteilt, dass, sollte die Skriptausführung an diese Stelle gelangen,

auf weitere Eingaben gewartet werden soll. Angelegt werden sie, indem man in der

Editor – View links auf die Zeilenanzahl doppelt klickt. Nun kann abermals mittels

Browser-Toolbar oder im Zend Studio selbst der Debugprozess gestartet werden.

Das Firefox-Plugin bietet hierbei die Möglichkeit den Debugger definierter

einzusetzen, indem beispielsweise die aktuelle Seite einmalig neu geladen wird

oder der nächste aktivierte Link den Debugger startet. Nun, nachdem pausiert

wurde, können sämtliche deklarierte Variablen und deren Inhalt, wie in der

nachfolgenden Abbildung dargestellt, eingesehen und auch verändert werden,

sodass der Skript im nächsten Schritt mit den editierten Werten weiter rechnet.

Page 29: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

29

Zur Steuerung des weiteren Debugprozesses nach erfolgreichem pausieren des

Skriptes kann man jetzt die Skriptausführung in Einzelschritten innerhalb der

aktuellen Methode weiterverfolgen, in einen aktuellen Methodenaufruf hinein

springen (im Bild zu sehen) oder aus dieser Methode herausgehen und in den

übergeordneten Aufruf wechseln. Die letzte Möglichkeit besteht darin, dem

Debugger mitzuteilen, dass er den Skript, bis zum evtl. nächsten Breakpoint,

normal ausführen soll. Die dafür verwendeten Shortcuts können der Tabelle der

Anlage B: Wichtige Shortcuts in Zend Studio entnommen werden.

Abbildung 11 Debug Perspective

Die letzte wichtige Funktion ist der Stack Trace. Je verschachtelter eine

Requestabarbeitung, d.h. desto mehr Methoden aufgerufen werden, je

undurchsichtiger ist der gesamte Request durchzusehen. Wenn sich nun an einer

Stelle ein Fehler bemerkbar macht, so wurde er meist viel früher erstellt und

Page 30: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

30

weitergereicht, bis er sich später bemerkbar macht. Der Stack Trace dient nun

dazu an einem gewünschten Punkt die Aufrufhistorie von der jetzigen Methode bis

vom Ausgangspunkt, d.h. der ersten aufgerufenen Methode, zurückverfolgen zu

können. Da er sehr eng mit den Breakpoints vernetzt ist, wurde er auch in die

Debug - Perspective eingesetzt und ist bei jedem Debugstopp, wie im vorherigen

Bild dargestellt, sichtbar. Des Weiteren sind die einzelnen Einträge im Trace

verlinkt, wodurch man mittels Klick auf einen Eintrag zu diesem Punkt in der

Abarbeitung „zurückspringen“ kann.

3.14 Abschließende Worte zu Erweiterungen

In den vorhergehenden Kapiteln wurde eine mögliche Verwendung des Zend Studio

mit verschiedenen integrierten Funktionen und zusätzlich installierten Plugins

gezeigt. Jedoch stellen diese nur einen geringen Teil der Bandbreite an

Erweiterungen dar. Durch die einfache, wie bereits am Beispiel von Subclipse und

AmaterasUML gezeigte, Erweiterbarkeit existieren bereits eine Menge solcher

nützlichen Erweiterungen.

Page 31: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

31

4 Fazit

Durch den einheitlichen Zugang zu vielen Funktionalitäten stellen

Entwicklungsumgebungen einen wesentlichen Aspekt einer effektiven

softwareunterstützten Entwicklungsarbeit dar. In einem wachsendem Projekt mit

hohem Verbrauch an Zeit, einer steigenden Menge an Dateien oder einer Arbeit,

die es ermöglichen soll im Team zu entwickeln, spielt eine IDE ihre Stärken in

steigendem Maße aus. Zend Studio stellt hier eine wichtige Rolle in der Entwicklung

von PHP Projekten dar, da die IDE nach Bedarf an die Wünsche des Entwicklers

funktional als auch optisch angepasst werden kann. In der Grundausstattung besitzt

es bereits eine Menge an Funktionalitäten, welche durch einen einfachen

Installationsprozess erweitert werden können. Dies, und die Tatsache, dass Zend

Studio direkt für PHP entwickelt wurde, macht es zu einer starken Unterstützung in

der Webprogrammierung. Zum Zeitpunkt der Verfassung dieser Arbeit war die

aktuelle Version 7.2. Es wurde aber bereits eine neue Version 8.0 angekündigt. In

ihr sollen dann Funktionen wie ein erweiterter JavaScript Support von Bibliotheken

(JQuery, Prototype, etc.) oder VMWare Unterstützung zur verbesserten Entwicklung

in virtualisierten Systemen integriert sein.6 Die weitere Entwicklung von Zend

Studio wird zeigen, ob es seine Wichtigkeit auch später behalten wird.

6 [Zen10a], S. 1

Page 32: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

32

Anlagenverzeichnis

Anlage A: Plugin Downloadlinks (Blatt 1)

Anlage B: Wichtige Shortcuts in Zend Studio (Blatt 2)

Anlage C: Wichtige PHPDocumentor Tags

Anlage D: Zend Studio 7.2 User Guide (externe PDF)

Anlage E: Installing the Zend Debugger (externe PDF)

Anlage F: Installing the Zend Browser Toolbar (externe PDF)

Anlage G: Übersicht der einzelnen PHP IDEs (externes Excel-Sheet)

Page 33: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

33

Anlage A: Plugin Downloadlinks

Die nun folgenden Links repräsentieren die Download URLs zu den einzelnen, in der

Arbeit vorgestellten, Plugins. Diese müssen, wie bereits im Kapitel

Funktionserweiterung mithilfe des Plugin Systems erläutert, in Zend Studio

eingegeben oder über das Dateisystem integriert werden.

AmaterasUML

http://sourceforge.jp/frs/redir.php?m=iij&f=%2Famateras%2F38882%2FAmaterasU

ML_1.3.2.zip

ArgoEclipse

http://argoeclipse.tigris.org/update_site

PHP CodeSniffer

http://www.phpsrc.org/eclipse/pti/

Subclipse

http://subclipse.tigris.org/update_1.6.x

Zend Studio Toolbar for Firefox

http://downloads.zend.com/studio_plugins/2.3/ZendFirefoxToolbar-2.3.xpi

Page 34: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

34

Anlage B: Wichtige Shortcuts

Tastenkombination Aktion Anwendunsort

Strg + B Projekt bauen (Build).

D.h. alle Symbole, wie

Klassen, Vererbungen,

etc., aktualisieren.

PHP - Perspective

F5 In Methodenaufruf

hineinspringen (Step

Into).

Debug – Perspective

F6 In gleicher Ebene

weitergehen (Step Over).

Debug – Perspective

F7 Aus Methode

herausspringen (Step

Return).

Debug – Perspective

F8 Normale Ausführung bis

zum nächsten Breakpoint

fortsetzen (Resume).

Debug – Perspective

Strg + Leertaste Content Assist öffnen Editor - View

Strg + O Outliner öffnen. Zeigt

alle Methoden und

Variablen der aktuellen

Klasse an.

Editor – View

Strg + T Type Hierarchy öffnen.

Zeigt alle erbenden

Klassen der aktuell

markierten an.

Editor – View

Strg + [Bild Auf|Bild Ab] Wechsel zwischen den

einzelnen Editortabs.

Editor – View

Strg + W Aktuelles Editorfenster

schließen.

Editor - View

Page 35: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

35

Strg + D Aktuelle Zeile löschen. Editor - View

Strg + F Suche in aktueller Datei

(Find/Replace).

Editor – View

Strg + H Dateisuche öffnen

(Search). Eingrenzung für

gewünschte Dateien

möglich.

PHP Explorer – View

Page 36: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

36

Anlage C: Wichtige PHPDocumentor Tags

Tag Kurzbeschreibung

@author Der Author des Dokuments oder

Dokumentenabschnitts (Methode, etc.).

@copyright Definiert das Copyright einer Datei.

@deprecated Zeigt an, dass diese Klasse / Methode in Zukunft

nicht mehr verwendet werden sollte.

@licence Lizentzyp der Datei.

@param Definiert einen übergebenen Parameter. Die

verwendete Syntax könnte lauten:

@param [Typ] $name - Kurzbeschreibung

@return Gibt den Typ des Returnwertes an (z.B. string,

array, stdClass).

@see Gibt einen Hinweis auf externe, zu betrachtende

Methoden / Klassen.

@throws Gibt die in der Methode geworfenen

Exceptionklassen an.

@uses Zeigt Verwendungen von externen Variablen /

Klassen an.

Page 37: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

37

Literaturverzeichnis

[Eng98] Engels, G., Schäfer, W.:“Programmentwicklungsumgebungen -

Konzepte und Realisierung“, 1. Auflage, Stuttgart, Teubner, 1998

[Mar09] Martin, R.: „Clean Code – Refactoring, Patterns, Testen und Techniken

für sauberen Code“, 1. Auflage, Heidelberg et. al., mitp-Verlag, 2009

[Mör09] Möhrke, C.: „Besser PHP Programmieren - Handbuch professioneller

PHP-Techniken“, 3. Auflage, Bonn, Galileo Press, 2009

[Pri06] Priebsch, S.: „Enterprise PHP Tools - Werkzeuge und Methoden für

einen effizienten Entwicklungsprozess“, Frankfurt am Main,

entwickler.press, 2006

[Dot10] dotSource GmbH: „dotSource Magento Wiki“, 2010,

http://wiki.dotsource.de/bin/view/Magento/PHP_Development_Guides

Abruf: 18.09.2010

[Goo09] Google Spreadsheets: “PHP IDE 31. Jan 2009”, 2009,

http://spreadsheets.google.com/ccc?key=pV8XyUSUOM7GsmVMLVit0Hw

Abruf: 18.09.2010

[Zen09] Zend Technologies: “Installation and User Guide – Zend Browser

Toolbar”, 2009, http://static.zend.com/topics/Zend-Debugger-

Toolbar-Installation-Guide.pdf Abruf: 25.09.201

[Zen07] Zend Technologies: „Installing the Zend Debugger“, 2007,

http://static.zend.com/topics/Debugger-Install.pdf Abruf: 25.09.2010

[Zen10a] Zend Technologies: “Zend Studio 8 – Release Notes“, 2010,

http://www.zend.com/topics/Zend-Studio-8.0.0-b2-Release-Notes.txt

Abruf: 25.09.2010

[Zen10b] Zend Technologies: „User Guide – Zend Studio 7.x“, 2010,

http://www.zend.com/topics/Zend-Studio-7-User-Guide-v7-2.pdf

Abruf: 25.09.2010

Page 38: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

38

Glossar

C

Content Assist

Dynamisches Anzeigen von Befehlsvervollständigungen, abhängig vom

eingegebenen Präfix.

K

Kontextmenü

Optionsansicht, welche meist über einen Rechtsklick auf einem Objekt

ausgeführt wird. Die dabei angezeigten Daten sind auswahl-/

objektabhängig.

P

Perspective (Zend Studio)

Sie definiert einen Grundaufbau des Programmlayouts. Es existieren mehrere

Views, welche meist einer Grundfunktion angepasst sind (z.B. PHP, Debug,

SVN). Ihr Inhalt besteht aus verschiedenen Views.

PHP

Scriptsprache, welche meißt bei der Entwicklung von Webapplikationen

verwendet wird.

Plugin

Erweiterung zu einem bestehenden Programm in Form einer Software.

Page 39: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

39

Profiling

Dient der Anzeige relevanter Daten an Zeit- und Speicherverwendungen

eines Programmablaufs.

Project (Zend Studio)

Strukturelle Trennung von Softwareentwicklungen innerhalb eines

Workspace.

R

Remotedebugger

Debugger, welcher einen Debugzugriff auf Dateien von entfernten Systemen

ermöglicht (Sogenanntes Client–Server-Modell). Dabei ist zu beachten, dass

die Sicherheitsvorkehrungen des Servers den Zugriff über die verwendeten

Ports und IPs erlauben.

Repository

Ist der Datenpool, in dem beim SVN sämtliche Änderungen nach

Versionsnummer, Commitautor und –kommentar gespeichert sind.

S

Social Commerce

Art des Onlinevertriebs, bei der die Einbeziehung des Kunden in den Kauf

und weitere damit verbundene Aktiviäten gefördert wird. Im Vordergrund

steht die Kundenbindung aufgrund des sozialen Mehrwertes eines solchen

Onlinevertriebs.

SVN

Page 40: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

40

Versionskontrollprogramm, welches häufig in Softwareprojekten verwendet

wird, da sämtliche Versionszyklen einseh- und wiederverwendbar sind.

Syntax Coloring

Farbliche Hervorhebung von sprachenspezifischen Befehlen (z.B. Schleifen

oder Verzweigungen).

V

View (Zend Studio)

Eine View ist ein Teil einer Perspektive, in welcher eine Funktion abgebildet

wird (z.B. Editoransicht, Debug Output).

W

Workspace (Zend Studio)

Stellt eine strukturelle Trennung von Projekten, in Form eines

auszuwählenden Ordners, dar. Innerhalb eines Workspace können mehrere

Projekte gleichzeitig bearbeitet werden.

Page 41: Effizientere PHP Entwicklung mit Zend Studio - dotsource.de · Des Weiteren erweist sich im Praxisalltag der Content Assist als sehr nützlich. Schreibt man einen Befehl, sei es eine

Ehrenwörtliche Erklärung

Ich erkläre hiermit ehrenwörtlich,

1. dass ich meine Studienarbeit mit dem Thema:

Effizientere PHP Entwicklung mit Zend Studio - Richtiger Umgang mit wichtigen

Funktionen

ohne fremde Hilfe angefertigt habe,

2. dass ich die Übernahme wörtlicher Zitate aus der Literatur sowie die

Verwendung der Gedanken anderer Autoren an den entsprechenden Stellen

innerhalb der Arbeit gekennzeichnet habe und

3. dass ich meine Studienarbeit bei keiner anderen Prüfung vorgelegt habe.

Ich bin mir bewusst, dass eine falsche Erklärung rechtliche Folgen haben wird.

Ort, Datum

Unterschrift