OOP in PHP – Teil 5: Hilfsfunktionen

Mit der Zeit werden unsere PHP Codes immer länger, dynamischer und schwerer zu verwalten. Das gehört zu den ständig steigenden Anforderungen an Webseiten dazu. Um trotzdem einen möglichst fehlerfreien und strukturierten Ablauf zu gewährleisten stellt uns PHP im objektorientierten Umfeld diverse Hilfsfunktionen zur Verfügung.

Gibt’s das überhaupt? – Hilfsfunktionen

Die erste Sparte an Hilfsfunktionen helfen uns dabei, herauszufinden, ob gewisse Dinge wie zum Beispiel Klassen, Methoden oder Attribute überhaupt definiert sind.

class_exists()

class_exists() macht genau das, was der Name vermuten lässt. Existiert die als String übergebene Klasse gibt diese Funktion true zurück, andernfalls false.

Dieses Beispiel sollte die Funktionsweise ausreichend beleuchten. Da nur die Klasse Beispiel existiert bekommen wir hier nur die Ausgabe Klasse Beispiel existiert zu lesen.

method_exists()

method_exists() funktioniert ähnlich wie class_exists(), allerdings für Methoden. Wir können für ein einzelnes Objekt hiermit überprüfen ob es die übergebene Methode zur Verfügung stellt.
Die Funktion nimmt zwei Parameter – eine Objektreferenz beziehungsweise Klassennamen und den Namen einer Methode. Sehen wir uns ein Beispiel an um das zu verdeutlichen.

Wenn wir uns das Beispiel ansehen fällt uns hoffentlich erstmal das Schlüsselwort static auf. Hiervon nicht verwirren lassen, das werden wir ausführlich in einem der nächsten Artikel besprechen. In diesem Beispiel dient es nur der Veranschaulichung der beiden Funktionsweisen von method_exists(). Die ersten beiden Ausgaben sehen wir auf dem Bildschirm, Nummer drei wird nicht ausgegeben, da wir nirgends die Methode methode2() definiert haben.

property_exists()

Als dritte im Bunde steht uns noch die Funktion property_exists() zur Verfügung. Nachdem wir Klassen und Methoden bereits abgehandelt haben stehen nun logischerweise noch die Attribute an. Und genau dafür gibt es diese Hilfsfunktion: Sie überprüft für uns ob ein bestimmtes Attribut in einem Objekt oder einer Klasse existiert.

Auch dieses Beispiel erzeugt wie erwartet die Ausgabe Attribut attribut1 existiert. Hier ist zu beachten, dass wir statt einem Objekt auch einen Klassennamen (als String) für den ersten Parameter verwenden können.

Andere Hilfsfunktionen

PHP stellt uns noch diverse andere Hilfsfunktionen zur Verfügung (einen Überblick finden wir hier), allerdings sind einige davon inzwischen veraltet (deprecated) oder werden einfach nur in so extremen Ausnahmefällen benötigt, dass es wenig Sinn macht hier näher darauf einzugehen. Erwähnt seien hier daher nur noch get_class(), welches uns die Klasse (als String) zurückliefert aus der ein Objekt erzeugt wurde und get_parent_class() welches uns die Elternklasse eines Objekts oder einer Klasse zurückliefert. Was das bedeutet sehen wir uns in einem späteren Artikel zum Thema Vererbung in aller Ausführlichkeit genau an.

2 Kommentare zu “OOP in PHP – Teil 5: Hilfsfunktionen

  1. Bei dem Beispiel zur class_exists() steckt ein Logikfehler drin
    Die Ausgabe bei AnderesBeispiel ist falsch. Die müsste lauten „AnderesBeispiel existiert“
    oder halt vor dem class_exists() ein Ausrufezeichen für existiert nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*