Marco Skulschus Skulschus PHP - OOP, Design Patterns und UML

PHP - OOP, Design Patterns und UML

von Marco Skulschus

EUR 39,95

Buch in deiner Nähe kaufen


...oder deine aktuelle Postleitzahl eingeben:
oder

Beschreibung

PHP 5 bietet dem Programmierer die Möglichkeit, PHP objektorientiert und unter Einsatz von gängigen objektorientierten Entwurfstechniken zu verwenden. Dieses Buch will Anfängern in der OOP, die aber gleichzeitig fortgeschrittene PHP-Programmierer sind, die OOP-Prinzipien anhand der PHP-Syntax erläutern. Nach einer Darstellung der neuen PHP-Techniken folgt ein umfangreicher Teil, der in das Wesen und den Nutzen von Entwurfsmustern einführt und eine Reihe von Mustern aus Standard- und Enterprisekatalog für die Entwicklung von erweiterbaren und wieder verwendbaren Architekturen in PHP vorstellt. Die Enterprise-Muster werden unter dem Blickwinkel der Mehrschichtigkeit eingeführt. Zur besseren Planung, Kontrolle und Dokumentation lernen PHP-Programmierer, eine Reihe von UML-Diagrammen sowie die Use Case-Technik zu verwenden. Objektorientierung mit PHP 5: Klassen, Vererbung, Schnittstellen, Reflection GoF-Design Patterns: Entwurfsmuster und ihre Einsatzgebiete, beispielhafte Darstellung von in PHP gut nutzbaren Mustern des Gang-of-four-Standardkatalogs Enterprise Application Patterns: Entwurfsmuster für mehrschichtige und DB-gestützte Unternehmensanwendungen Mehrschichtigkeit: Architekturvarianten und Umsetzungen mit PHP, Einsatz von Objekten, XML und Web Services für serviceorientierte Architekturen UML: Einsatz von Klassen- und Use Case-Diagrammen, Abbildung von Aktivitäten, Anwendungsfallanalyse für die Softwareplanung/-kontrolle. Das erste Kapitel zeigt, wie man überhaupt in PHP eine Klasse mit Eigenschaften und Methoden erstellt, wie diese Klassen-Mitglieder zusammenarbeiten und wie man auf Basis einer solchen Klasse Objekte erstellt und verwendet. Es zeigt die Nützlichkeit von Zugriffsmethoden (Getter-/Setter-Methoden), den Einsatz von Konstruktoren und Destruktoren sowie statische Eigenschaften und Methoden und die Verwendung von Konstanten. Neben der allgemeinen Programierung in PHP enthält es auch einfache Überlegungen zum Aufbau solcher einfachen Klassen. Das zweite Kapitel beschäftigt sich mit den erweiterten Techniken des Klassenaufbaus. Hier findet man solche Themen wie Vererbung von gewöhnlichen und abstrakten Eltern-Klassen, den Einsatzbereich von Abstraktion sowie die Entwicklung und Implementierung von Schnittstellen (Interfaces). Es zeigt sehr ausführlich, wie die verschiedenen Techniken miteinander kombiniert werden können. Dabei beschäftigt man sich als Leser beispielhaft mit den Themen Polymorphismus (Vielgestaltigkeit), dynamische Bindung, Substitutionsprinzip der OOP und verschiedenen allgemeinen objektorientierten Entwurfstechniken. Auf Basis der in den ersten beiden Kapiteln erarbeiteten Syntax-Techniken hilft das dritte Kapitel, den Überblick im geplanten oder schon programmierten Klassensystem zu behalten. Dabei stellt es das Klassendiagramm der UML vor. Nach einer kurzen Einführung in die Unified Modeling Language folgen die Beispiele aus dem ersten beiden Kapiteln in einer grafischen Aufbereitung, sodass man einen Vergleich zwischen Syntax und modellhafter Abbildung im Klassendiagramm hat. PHP bietet immer noch nicht alle Syntax-Möglichkeiten, die bspw. in Java oder.NET genutzt werden können, aber es sind einige Besonderheiten vorhanden, die einen Teil der fehlenden Techniken ausgleichen. Das vierte Kapitel konzentriert sich daher genau auf diese Techniken wie bspw. die magischen Methoden für Überladung. In einem zweiten Teil zeigt es dann die neuen Techniken für die Entwicklung und Nutzung von Ausnahmen zur besseren Fehlerbehandlung, die Serialisierung/Deserialisierung sowie die umfangreichen Reflection API, mit der man zur Laufzeit sämtliche objektorientierten Konstrukte (Klassen, Schnittstellen, Objekte) untersuchen und verwenden kann. Da man nach dem vierten Kapitel eine umfassende Basis über alle objektorientierten Techniken von PHP gewonnen hat, zeigt das fünfte Kapitel dem Leser, wie man wiederkehrende Probleme beim objektorientierten Entwurf mit Entwurfsmustern (Design Patterns) lösen kann. Dabei konzentriert sich dieses Kapitel auf den GoF-Katalog (Gang of Four) an Entwurfsmustern. Es enthält eine Auswahl an in PHP sinnvoll einsetzbaren Mustern wie u.a. Schablonenmethode, Adapter, Besucher, Kompositium, Befehl. Das sechste Kapitel führt mit einer Reihe von Beispielen und einem ausführlichen theoretischen Fundament den Begriff und das Konzept der Mehrschichtigkeit ein. Es bildet dabei eine Überleitung zu den Entwurfsmustern für Unternehmensanwendungen des siebten Kapitels und stellt so eine Brücke zur erfolgreichen Anwendung der Objektorientierung in PHP-Anwendungen dar. Als Beispiel wird gezeigt, wie eine mehrschichtige Software mit Arrays, Objekten, XML und auch mit Web Services erstellt wird. Der Bereich Web Services wird durch eine ausführliche theoretische Erläuterung abgerundet. Das siebte Kapitel setzt den Gedanken der Mehrschichtigkeit fort und liefert eine teilweise beispielhafte Einführung in die Entwurfsmuster für Unternehmensanwendungen. Dabei enthält es auch mit PHP sinnvoll und gut umsetzbare Muster für die Datenzugriffs-, Geschäftslogik- und Präsentationsschichten. Im achten Kapitel wird schließlich mit Hilfe der Anwendungsfallanalyse (Use Cases) eine Technik vorgestellt, mit der Software geplant und sowohl in Textform (Use Cases, Anwendungserzählungen) als auch mit Hilfe der UML (Use Case- und Aktivitätsdiagramm) dargestellt werden kann. 1 Einfache Klassen 1.1 Aufbau einer Klasse 1.1.1 Eigenschaften und Methoden 1.1.2 Konstruktoren und Destruktoren 1.1.3 Zugriffsschutz und Zugriffsmethoden 1.2 Erweiterte Klassenstrukturen 1.2.1 Statische Methoden und Eigenschaften 1.2.2 Konstanten 1.3 Klassenverbünde 1.3.1 Klassen kombinieren 1.3.2 Referenzen verstehen und beherrschen 1.3.3 Algorithmen auslagern 2 Erweiterte Klassen 2.1 Vererbung 2.1.1 Einfache Vererbung 2.1.2 Programmierung auf eine Schnittstelle hin 2.1.3 Dynamische Bindung und Polymorphismus 2.2 Abstraktion 2.2.1 Vererbungshierarchie und Prinzip 2.2.2 Klienten 2.2.3 Beziehungen zwischen Klassen 2.3 Schnittstellen 2.3.1 Einfache Verwendung 2.3.2 Mehrfache Implementierung 3 Das UML-Klassendiagramm 3.1 Grundlagen 3.1.1 Definition 3.1.2 Einsatz der UML in PHP 3.1.3 UML als Modellierungswerkzeug 3.2 Einfache Klassen und Verbünde 3.2.1 Einfaches Klassendiagramm 3.2.2 Statische Mitglieder und Konstanten 3.2.3 Beziehungen zwischen Klassen 3.3 Klassenhierarchien 3.3.1 Vererbung 3.3.2 Abstraktion 3.3.3 Schnittstellen 3.4 Beziehungen zwischen Klassen 3.4.1 Assoziation 3.4.2 Aggregation 3.4.3 Komposition 4 PHP-Spezialitäten 4.1 Magische Methoden 4.1.1 Überladung von Eigenschaften 4.1.2 Überladung von Methoden 4.1.3 Zustand überprüfen 4.1.4 Zeichenkette-Ausgabe 4.1.5 Serialisierung 4.1.6 Klassen automatisch laden 4.2 Ausnahmen 4.2.1 Standard-Ausnahmen 4.2.2 Abgeleitete Ausnahmen 4.3 Reflection 4.3.1 Einfache Reflection 4.3.2 PHP5-Reflection 4.3.3 Dynamische Instanziierung 5 Entwurfsmuster des Standardkatalogs (GoF) 5.1 Erzeugung 5.1.1 Singleton 5.1.2 Einfache Fabrik und Fabrikmethode 5.2 Struktur 5.2.1 Dekorierer 5.2.2 Kompositum 5.2.3 Adapter 5.2.4 Fassade 5.3 Verhalten 5.3.1 Befehl 5.3.2 Schablonenmethode 5.3.3 Besucher 5.3.4 Strategie 6 Mehrschichtigkeit 6.1 Architekturvarianten 6.1.1 Einführung 6.1.2 Zwei Schichten 6.1.3 Drei Schichten 6.1.4 Vier und mehr Schichten 6.1.5 Übersicht 6.2 Umsetzung in PHP 6.2.1 Prozedurale Lösung mit Arrays 6.2.2 Objektorientierte Variante 6.2.3 XML 6.2.4 WebServices 7 Enterprise Application Muster 7.1 Basis-Muster 7.1.1 Registry 7.1.2 Weitere Basis-Muster 7.2 Datenzugriffsschicht 7.2.1 Active Record 7.2.2 Data Mapper 7.2.3 Row Data Gateway 7.2.4 Table Data Gateway 7.2.5 Beziehungen 7.2.6 Sonstige Muster 7.3 Domänenlogik 7.3.1 Allgemeine Überlegungen 7.3.2 Transaction Script 7.3.3 Domain Model 7.3.4 Table Module 7.3.5 Service Layer 7.4 Präsentationsschicht 7.4.1 Page Controller 7.4.2 Front Controller 7.4.3 Transform View 7.4.4 Two Step View 8 Planung mit Use Cases 8.1 Darstellung der Use Case-Technik 8.1.1 Einführung 8.1.2 Basismethodik 8.1.3 Format der Anwendungsfälle 8.2 Anwendungsfälle in Text und UML 8.2.1 Anwendungserzählungen 8.2.2 Tabellarische Anwendungsfälle 8.2.3 Use Case-Diagramm der UML 8.2.4 Aktivitätsdiagramm der UML
Comelio Medien gehört zur Comelio GmbH, einem in D, A und CH arbeitenden IT-Haus. Er bietet den Mitarbeitern der Comelio GmbH die Gelegenheit, Themenbereiche aus ihren Aufträgen in den Bereichen Beratung, Entwicklung oder Schulung in Buchform aufzubereiten und ihr Wissen der deutschsprachigen Entwicklergemeinde zur Verfügung zu stellen. Dabei sollen auch Randthemen bearbeitet werden. Das Dienstleistungsangebot des Mutterunternehmens umfasst die Bereiche Softwareentwicklung mit.NET, Java und PHP für die Datenbanksysteme von Microsoft, Oracle und MySQL. Weitere Geschäftsfelder sind Beratung und Schulung. Die Comelio GmbH ist Microsoft Certified Partner, Oracle Partner, Sun Advantage Partner und Mitglied der OMG. / Persönliches Vorwort: Ich beschäftige mich mit PHP professionell seit Veröffentlichung der Version 4 und habe in den vergangenen Jahren immer wieder in Büchern und Magazinen Techniken der PHP-Programmierung vorgestellt. Sogar mein allererstes Buch war ein klassisches Einsteigerbuch für PHP und MySQL. Laut aktuellem Plan werde ich ein solches Buch wohl erst zur nächsten Version schreiben, denn auch dieses ist ein Buch, das ich wie dieses OOP-Buch immer einmal bzw. noch einmal schreiben wollte. Wesentlich sind natürlich auch die vielen Seminare, die ich zur PHP-Programmierung und angrenzenden Themen wie Entwurfsmustern oder Software-Planung seit Jahren durchführe. Als die Version 5 herauskam, gab es einen beeindruckenden Boom an Seminar- und Beratungsanfragen zum Thema Objektorientierung, Planung und Programmie-rung im Team. Es ist nicht häufig, dass man ein Seminar erst dann konzipiert, wenn man es schon mehrfach durchgeführt hat oder man es erst dann als Standard-Thema anbietet, wenn eine Reihe von Kunden sich mehr mit der richtigen The-menauswahl und Präsentationsform beschäftigt haben als der Dozent - aber genau in diesem Bereich verhielt es sich so. Dass ich erst zwei Jahre später dazu komme, endlich dieses Buch, was ich unbedingt schreiben wollte, endlich abzuschließen, ist ein wenig ärgerlich, aber andererseits vielleicht auch ein besonderer Vorteil. Denn nur so konnte ich das, was ich PHP-Programmierern vermitteln wollte, auch am besten auswählen. Aus den vielen Seminarterminen zu diesem Thema sowie den vielen Besuchen bei PHP-Teams und Firmen, die ausschließlich PHP-Software erstellen, konnte ich den Inhalt so destillieren, dass ich meine, behaupten zu könn-ten, dass Sie eine sehr gute Quelle in der Hand halten, mit der Sie sich bedenkenlos in die Welt der Objektorientierung begeben können. Wenn man wie ich zwischen der Java/.NET- und PHP-Welt wandelt, dann kennt man nicht nur die vielen Diskussionen rund um Open oder Closed Source-Software, sondern natürlich auch die Vorbehalte oder Vergötterungen von prozedu-ralen oder objektorientierten Techniken. Im Buch finden Sie noch an verschiede-nen Stellen persönliche Anmerkungen, sodass ich diese hier auf die beiden Aller-weltssprüche „Es kommt darauf an“ und „Die Mischung macht´s“ reduzieren kann. Hätte ich das Buch unmittelbar nach Veröffentlichung der PHP 5-Version ge-schrieben, hätte ich vermutlich ausschließlich die neue Syntax beschrieben und Ihnen nebenbei auch noch versucht, ausführlich zu erklären, dass ein Gästebuch mit 200 Zeilen nur objektorientiert funktionieren kann. Mittlerweile sehe ich das durchaus differenzierter. Dass objektorientiertes Vorgehen die beste Technik dar-stellt, die man zurzeit bei der Anwendungsentwicklung nutzen kann, steht für mich ebenso wie ein Fels in der Brandung wie auch die Erkenntnis, dass man den Cha-rakter von PHP weiterhin bei der Wahl der Werkzeuge berücksichtigen muss. Nicht jede OOP-Technik ist in PHP sinnvoll nutzbar, nicht jeder komplizierte Ent-wurf ist die beste Wahl, aber sobald eine Software ernsthaft und mit langem Le-benszyklus und einiger Komplexität entwickelt werden soll, sollte man allen alten Techniken den Rücken zukehren. Dabei kommt es aber nicht nur darauf an, überhaupt irgendeine Klasse zu formulie-ren und quasi ein prozedurales Programm in einer einzigen Methode zu formulie-ren und diese dann aufzurufen. Vielmehr finden Sie in diesem Buch nach der Dar-stellung der verfügbaren Syntax zum größten Teil ganz andere Themen, die direkt mit PHP nichts zu tun haben, sondern die ein Rüstzeug für die objektorientierte Arbeit auch in anderen Sprachen bieten, aber hier speziell für PHP-Programmierer von mir zusammen gestellt wurden. Themen wie die UML, Entwurfsmuster sowie Software-Planung lassen sich schlecht vollständig in einem einzigen Buch abhan-deln, denn zu jedem dieser Themen könnte man sich ein eigenes Werk vorstellen. Ich habe allerdings versucht, die wesentlichen Inhalte beispielhaft und mit erklä-renden Abbildungen so aufzubereiten, dass man sofort nach der Lektüre gute Wer-kzeuge in der Hand hält, mit denen man in jedem Fall bessere Software als in der Vergangenheit erstellen kann. Hat man dann mit dem Wissen, welches ich in diesem Buch vermittel, wiederum einen gewissen Weg hinter sich gebracht und neue – hoffentlich positive – Erfah-rungen gesammelt, dann ist es Zeit für Literatur, welche die Themen, die ich bspw. in den Kapiteln zu Entwurfsmustern oder UML vermittele, deutlich umfangreicher darstellen.

Autor*in

Marco Skulschus

Themen in »PHP - OOP, Design Patterns und UML«

Design Patterns OOP Object Oriented Programming Objektorientierung PHP UML

Stimmen zu »PHP - OOP, Design Patterns und UML«

Details

ISBN: 9783939701163
Verlag: Comelio
Erscheinung: 08.2007

Link teilen


Über buchnah.de | Die Buchhandlungen | Die Verlage | Impressum & Kontakt | Datenschutz | Presse


Auf dieser Seite kannst Du Buchhandlungen in der Nähe finden