Effizientere PHP Entwicklung Mit Zend Studio
Total Page:16
File Type:pdf, Size:1020Kb
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 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 II Anlage B: Wichtige Shortcuts .............................................................. 34 Anlage C: Wichtige PHPDocumentor Tags ............................................... 36 Literaturverzeichnis ......................................................................... 37 Glossar ......................................................................................... 38 Ehrenwörtliche Erklärung .................................................................. 41 III 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 IV 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 V 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 6 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. 7 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 8 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