PHP - OOP, Design Patterns und UML - Marco Skulschus

PHP - OOP, Design Patterns und UML

(Autor)

Buch
472 Seiten
2007
Comelio (Verlag)
978-3-939701-16-3 (ISBN)
39,95 inkl. MwSt
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

Marco Skulschus hat bereits mehrere Bücher zu PHP in den letzten Jahren bei Comelio Medien und anderen Verlagen veröffentlicht. Sie beschäftigen sich mit fortgeschrittenen Themen der PHP-Verwendung wie den Einsatz von XML und den Zugriff auf Oracle. Dieses Buch fasst den Inhalt seines Seminars zum gleichen Thema zusammen, das er seit Veröffentlichung von PHP 5 vor vielen PHP-Teams durchgeführt hat und in dem er sich dafür einsetzt, PHP-Projekte konsequent mit der richtigen Mischung aus Objektorientierung und Entwurfsmustern, Anwendungsfallanalyse und UML-Einsatz durchzuführen. Er arbeitet neben seiner Tätigkeit als Berater/Trainer auch als Projektleiter für betriebswirtschaftliche Software und Berichts-/Expertensysteme bei der Comelio GmbH.

Sprache deutsch
Maße 150 x 220 mm
Gewicht 670 g
Einbandart Paperback
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Web / Internet PHP
Schlagworte Design Patterns • HC/Informatik, EDV/Programmiersprachen • Object Oriented Programming • Objektorientierung • OOP • PHP • PHP 5 • PHP 5; Einführung • UML
ISBN-10 3-939701-16-5 / 3939701165
ISBN-13 978-3-939701-16-3 / 9783939701163
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
das umfassende Handbuch

von Christian Wenz; Tobias Hauser

Buch | Hardcover (2024)
Rheinwerk (Verlag)
49,90