PHP-Anwendungen durch OOP-Verfahren optimieren

Der Ansatz, wie objektorientiertes Programmieren in Verbindung mit PHP realisiert werden kann, wird hier am Beispiel eines Fahrzeugs als PHP-Klasse beschrieben:

Innerhalb der neuen Fahrzeug-Klasse verknüpfen Methoden (PHP-Funktionen) die Anwendungen mit den Merkmalen des Fahrzeugs. Jede dieser Methoden dient zur Beschreibung der Fahrzeug-Klasse für die Anwendung, so dass sich diese auf sinnvolle Weise einsetzen lässt. Hierzu das folgende Beispiel (das natürlich nicht funktional ist):

Dies ergibt also eine Reihe von ‚Treffern‘. Wenn hier alles vertraut aussieht, liegt das daran, dass die OOP-Funktionalität von PHP der von C oder Java stark ähnelt. Die eigentliche Herausforderung besteht jedoch in ihrer sinnvollen Nutzung unter umfassender und effizienter Verwendung der Verkapselung.

Um herauszufinden, was über das Fahrzeug bekannt sein muss, um es in eine Anwendung zu integrieren, kann die Definition der Basiselemente eines Fahrzeugs hilfreich sein. Beispielsweise können Fahrzeuge nach der Anzahl ihrer Türen oder Räder geordnet werden.

Um zu bestimmen, wie viele Räder ein Fahrzeug hat, benötigt man eine Methode, die diese Information liefert. In PHP könnte man dazu wie in Listing A dargestellt vorgehen.

Die hier verwendete Fahrzeug-Klasse enthält eine Methode namens „zeigeRäder“, welche die Anzahl der Räder ausgibt, wenn von der Anwendung ein Fahrzeugtyp angegeben wird. Wie lässt sich diese Information nun an die Fahrzeug-Klasse weitergeben? Zum besseren Verständnis hierzu einige praktische Beispiele, bei denen die Klasse implementiert und deren „zeigeRäder“-Methode aufgerufen wird, um die Anzahl der Räder eines Fahrzeugs vom Typ Auto zu ermitteln:

Der Typ des zu erstellenden Fahrzeugs wurde also als Auto deklariert. Da mit PHP gearbeitet wird, könnte dieser Wert dynamisch sein; um das Verfahren abzukürzen, wird er hier jedoch hart codiert.

Um die Klasse verwenden zu können, gilt es zunächst eine Instanz der Klasse in der Anwendung zu erstellen:

Es wurde eine Instanz von Fahrzeug erstellt, die „mein Fahrzeug“ heißt. Diese stellt eine eindeutige Instanz der Fahrzeug-Klasse dar und enthält sämtliche in Fahrzeug verfügbaren Daten (Methoden und Eigenschaften).

Jetzt kann festgestellt werden, wie viele Räder das Fahrzeug besitzt:

Wie man sieht, wurde die „zeigeRäder“-Methode von „meinFahrzeug“ aufgerufen und ihr der Fahrzeugtyp mitgeteilt. Wenn alles ordnungsgemäß verläuft, werden die benötigten Daten ausgegeben:

Möchte man die Anzahl der Türen ermitteln, muss man eine weitere Methode schreiben, die die Anzahl der Türen abfragt, wie in Listing B dargestellt.

Einfache Programmierung, einfache Pflege
Wie aus diesem einfachen Beispiel hervorgeht, ist objektorientiertes Programmieren in PHP gar nicht so schwierig. Mit dem Einsatz von OOP-Verfahren und Klassen, wie in der gezeigten Fahrzeug-Klasse demonstriert, ließe sich ohne großen Aufwand auch ein OOP-Einkaufswagen erstellen, der aus Klassen besteht, die der Fahrzeug-Klasse ähneln. Aufgrund seiner objektorientierten Beschaffenheit wäre der entstehende Code einfach zu lesen, zu pflegen und zu skalieren.

In Listing C ist die ausführlichere Version des Codes der hier vorgestellten Anwendung zur Einordnung von Fahrzeugen zu sehen. An dieser lassen sich die objektorientierten Fähigkeiten von PHP gut erkennen.

ZDNet.de Redaktion

Recent Posts

Infostealer Formbook nimmt Nutzer in Deutschland ins Visier

Die Malware landet mit einem Anteil von 21 Prozent an allen Infektionen im September auf…

22 Minuten ago

Ausgenutzte Schwachstellen: Anteil der Zero-Day-Lücken steigt

Im vergangenen Jahr waren 70,3 Prozent aller Sicherheitslücken im Visier von Hackern ohne verfügbaren Patch.…

5 Stunden ago

Trotz wachsender Angriffszahlen: Deutsche unterschätzen Cyberrisiko

Das Risikoempfinden der Deutschen sinkt in drei Jahren um 12 Prozentpunkte. Außerdem ist die Wissenskompetenz…

18 Stunden ago

Windows Server: Microsoft kündigt Support-Ende für VPN-Protokolle PPTP und L2TP an

Beide Protokolle gelten ab sofort als veraltet und werden nicht mehr weiterentwickelt. Der Support für…

1 Tag ago

Chrome 130 schließt 17 Sicherheitslücken

Betroffen sind Chrome für Windows, macOS und Linux. Der schwerwiegendste Fehler steckt in der Komponente…

2 Tagen ago

Cyberbedrohungen: Deutschland ist digital nur „bedingt abwehrbereit“

Ein Viertel der Entscheidungsträger in Politik und Verwaltung spricht sogar vom Fehlen jeglicher Abwehrbereitschaft. Die…

2 Tagen ago