PHP OOP

PHP OOP – Einleitung zum ausführlichen Tutorial PHP OOP

Objektorientierte Programmierung (OOP)

Die objektorientierte Programmierung (OOP) ist eine Programmiertechnik, bei der Klassen und Objekte zum Schreiben von Programmen verwendet werden. In einem objektorientierten Programm wird alles wie ein Objekt der realen Welt mit Attributen und Verhaltensweisen betrachtet. OOP ist eine Technik, die in den meisten modernen Programmiersprachen ausgiebig genutzt wird. Die objektorientierte Programmierung in PHP begann vor vielen Jahren mit der Veröffentlichung von PHP 5 an Bedeutung zu gewinnen. OOP öffnet die Tür zu einem saubereren Code-Design, einer einfacheren Wartung und einer stärkeren Wiederverwendung von Code.

PHP Programmierer buchen!

OOP zu verstehen, kann anfangs ein wenig knifflig sein. In diesem Abschnitt stellen wir dir daher zunächst einige OOP-Kernkonzepte und die generellen Vorzüge von OOP vor und zeigen dir, wie du die von PHP unterstützten OOP-Funktionen nutzen kannst.

Die grundlegenden Konzepte von OOP

OOP ist schwieriger zu verstehen als manch andere Programmiertechnik. Wenn du allerdings die folgenden 4 Begriffe verstanden hast, bist du eigentlich fast schon fertig:

  • Klassen

  • Objekte

  • Eigenschaften

  • Methoden (oder Funktionen)

  • Klassen

    Eine Klasse ist im Wesentlichen eine Code-Vorlage, aus der ein oder mehrere Objekte erzeugt werden können. Du kannst dir eine Klasse wie den Bauplan für ein Haus vorstellen. Mit einem Bauplan kann man mehr als nur ein Haus bauen. Auf die gleiche Weise kannst du auch mehrere Objekte aus einer Klasse erstellen.

    Eine Klasse beschreibt, was ein Objekt enthalten kann, einschließlich Eigenschaften (Variablen) und Funktionen (Methoden). Die Beziehung zwischen Klassen und Objekten ist eine seltsame, aber wunderbare Beziehung, denn wir beschreiben Objekte in Form von Klassen und Klassen werden oft auch in Form von Objekten beschrieben. Klassen werden mit dem Schlüsselbegriff class und einem beliebigen Klassennamen deklariert. Code, der mit einer bestimmten Klasse verbunden ist, wird meist in geschweifte Klammern eingeschlossen.

    Auch wenn der Code im obigen Beispiel noch nicht sehr nützlich ist, handelt es sich bereits um eine zulässige Klasse, aus der theoretisch Objekte erzeugt werden können.

    Objekte

    Ein Objekt ist eine Instanz einer Klasse. Es ist wie ein Haus, das aus einem Bauplan gebaut wird. Du kannst mehr als nur ein Objekt aus einer Klasse erstellen, so wie du mehrere Häuser auf Grundlage eines Bauplans bauen kannst. Jedes Haus kann seine eigene Farbe, Bodenfliesen, Ausstattung usw. haben. Genauso können verschiedene Objekte unterschiedliche Eigenschaften haben.

    Bei einem Objekt handelt es sich im Grunde genommen um Daten, die gemäß der von einer Klasse definierten Vorlage strukturiert wurden. Wenn wir mit der Klasse Obst, die wir oben definiert haben, Objekte erzeugen wollen, verwenden wir den Schlüsselbegriff new in Verbindung mit dem Klassennamen, wie im folgenden Beispiel:

    Der einzige Operand im obigen Code ist der Schlüsselbegriff new, gefolgt von dem Klassennamen. Der Code erzeugt zwei Instanzen der Klasse Obst. Obwohl sie funktional identisch sind (d. h. leer), sind $Obst1 und $Obst2 unterschiedliche Objekte desselben Typs, die aus einer einzigen Klasse erzeugt wurden.

    Eigenschaften

    Eigenschaften sind Variablen eines Objekts. Sie sind die Werte, die mit dem Objekt verbunden sind und sein Erscheinungsbild beschreiben. Eigenschaften können zu einem Objekt hinzugefügt, geändert oder entfernt werden. Manche können auch schreibgeschützt sein. Du kannst dir Eigenschaften wie die jeweilige Farbe unseres Hauses vorstellen. Wir können auch Aktionen an unserem Haus durchführen (z. B. die Farbe ändern).

    Eigenschaften, die in einer Klasse definiert sind, werden auch Klassenvariablen genannt. Sie enthalten Daten, die von Objekt zu Objekt variieren können. Eine Klassenvariable sieht ähnlich aus wie eine Standard-PHP-Variable. Allerdings musst du ihr eine bestimmte Sichtbarkeit zuweisen. Die Eigenschaft kann public, protected oder private sein. Ihre Sichtbarkeit bestimmt den Bereich, aus dem heraus auf die Eigenschaft zugegriffen werden kann.

    Als nächstes wollen wir unserer Klasse Obst einige Eigenschaften verpassen:

    Die Klasse Obst hat nun zwei Klassenvariablen bzw. Eigenschaften. Um einer Eigenschaft einen Wert zuzuweisen, verwenden wir die folgende Syntax:

    $Obst2->Name = “Apfel”;

    Du kannst auf Eigenschaften und Methoden auf Objektbasis zugreifen, indem du die Zeichen ‘->’ (der Objektoperator) in Verbindung mit einer Objektvariablen und einem Eigenschaftsnamen verwendest, etwa so:

    print $Obst->Name;

    Dies gibt die Zeichenkette Apfel aus. PHP zwingt uns nicht, alle unsere Eigenschaften in der Klasse zu deklarieren. Du kannst Eigenschaften dynamisch zu einem Objekt hinzufügen, etwa so:

    $Obst1->Form = “rund”;

    Die obige Methode wird in der objektorientierten Programmierung allerdings nicht als gute Praxis angesehen.

    Methoden

    Methoden sind Aktionen, die an Objekten ausgeführt werden. Das Ändern der Farbe meines Hauses wäre sozusagen eine Methode, die an meinem Hausobjekt ausgeführt wird. Methoden sind spezielle Funktionen, die innerhalb einer Klasse definiert werden. Genauso wie Eigenschaften Ihren Objekten erlauben, Daten zu speichern, erlauben Methoden Ihren Objekten, Aufgaben oder Aktionen durchzuführen. Eine Methode wird ähnlich wie eine Funktion definiert. Der Schlüsselbegriff function steht vor dem Methodennamen, gefolgt von einer optionalen Liste von Argumentvariablen in Klammern. Der Methoden-Code wird von geschweiften Klammern umschlossen:

    Methoden sind im Grunde genommen Funktionen, da sie Argumente annehmen und einen Wert zurückgeben können, aber im Gegensatz zu regulären Funktionen müssen sie innerhalb einer Klasse definiert werden. Die Sichtbarkeit einer Methode kann durch Zugriffsmodifikatoren (Sichtbarkeitsschlüsselbegriff) geändert werden. Wenn du den Sichtbarkeitsschlüsselbegriff in deiner Methode weglässt, wird die Methode implizit als public deklariert. Es gilt jedoch als gute Praxis, die Sichtbarkeit für alle Methoden explizit zu definieren. Um deine Methode aufzurufen, musst du Klammern verwenden, genau wie bei einer Funktion.

    Die Vorteile von OOP

    Die objektorientierte Programmierung bietet verschiedene Vorteile:

  • OOP ist schneller und einfacher in der Ausführung

  • OOP bietet eine klare Struktur für deine Programme

  • OOP hilft, Wiederholungen in deinem PHP-Code zu vermeiden, und macht den Code so einfacher zu pflegen, zu ändern und zu debuggen

  • OOP ermöglicht es, vollständige wiederverwendbare Anwendungen mit weniger Code und kürzerer Entwicklungszeit zu erstellen

  • In den nächsten Kapiteln werden wir lernen, wie wir die oben genannten Konzepte in der Praxis anwenden können.