Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

PHP: Objektorientierte Programmierung

"Magische" Methoden

Testen Sie unsere 2018 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Sogenannte magische Methoden sind bereits in PHP enthaltene, vorgefertigte Methoden, die die Arbeit erleichtern.
04:02

Transkript

Magische Methoden kennen Sie wahrscheinlich, und Sie werden Sie höchstwahrscheinlich sogar schon eingesetzt haben, ohne wirklich bewusst wahrgenommen zu haben, dass es sich dabei um Magische Methoden handelt. Klären wir also erst mal was es überhaupt ist. Magische Methoden sind bereits in PHP enthalten, das heißt, Sie müssen sie nicht neu definieren, sondern sie sind bereits da. Und erkennbar sind sie an einem doppelten Unterstrich, mit dem der Name beginnt. Magische Methoden können einfach aufgerufen und eingesetzt werden, und sie unterstützen Sie bei gängigen Aufgabenstellungen, deswegen gehe ich ja auch davon aus, dass Sie bereits Bekanntschaft gemacht haben. Die wahrscheinlich bekannteste ist die Konstruktor-Methode (__construct()), Die Konstruktor-Methode hat noch genau das Gegenteil an ihrer Seite, nämlich die Destruktor-Methode (__destruct()). Mit der Konstruktor-Methode können Sie nämlich Objekten gleich bei ihrer Initialisierung Werte mitgeben, und die Konstruktor-Methode kommt wirklich häufig zum Einsatz, weil sie auch ein Sicherheitsfeature darstellen kann. Die Destruktor-Methode macht genau das Gegenteil. Wenn also eine Variable bereits mit einem Wert gefüllt ist, dann sorgt die Destruktor-Methode dafür, dass dieser Speicherplatz wieder freigegeben wird. Deswegen, können Sie sich vorstellen, sollte die Destruktor-Methode relativ überschaubar eingesetzt werden, denn sonst kann sie zu ziemlich unerwarteten Ergebnissen führen. Auch die toString()-Methode sorgt dafür, dass Sie eine schöne Zeichenketten-formatierte- Ausgabe bekommen, und ist sehr praktisch wenn es darum geht Werte zu übergeben, die dann in HTML ausgegeben werden sollen. Dann gibt es wieder ein Pärchen, nämlich die __get()-Methode und die __set()-Methode. Get und set sind ein Paar, das eher im Zusammenhang mit Attributen auftaucht. Get kommt zum Beispiel dann zum Einsatz, wenn ich versuche den Wert eines Attributes abzufragen, das es noch gar nicht gibt. So was kann praktisch zum Beispiel passieren, wenn ich mit einem Array arbeite, und natürlich den Inhalt des Arrays mir erst einlesen lasse, und noch gar nicht kenne. Und set ist genau das Gegenteil davon, es wird aufgerufen wenn wir den Wert eines Attributes setzen, das es noch gar nicht gibt. Und genauso wie es get und set auf der Attribut-Ebene gibt, gibt es dann noch __call() und __callStatic() auf der Methoden-Ebene. Hier ist es eigentlich fast gleich, und zwar wenn ich eine Methode aufrufe, die noch nicht definiert ist, dann kann ich das mit call machen, und call bekommt dann als Parameter eben, den Namen dieser Methode mit, und kann auch noch zusätzliche Attribute und Parameter enthalten. Und falls es sich um eine statische Methode handelt, verwendet man dafür dann __callStatic(), so! So viel zur Theorie. Das Gute ist, dass ich hier, zum Beispiel bei dem Einsatz, eine eigene Exception-Handling-Methode zeigen kann, wie das funktionieren kann. Ich habe hier auf der einen Seite eben die Konstruktor-Methode, die sorgt dafür, dass ich Parameter habe, die ich dann für mein Objekt gleich einsetzen kann, und ich habe hier unten auch noch die toString()-Methode, die eben für eine gute Ausgabe und eine lesbare Zeichenketten-Ausgabe sorgt. Magische Methoden kommen häufig vor, und können vielseitig eingesetzt werden, und sind eigentlich aus der Arbeit mit PHP nicht mehr wegzudenken.

PHP: Objektorientierte Programmierung

Lernen Sie alle Aspekte kennen, die bei der Umsetzung des OOP-Programmierstils in PHP eine Rolle spielen.

2 Std. 32 min (34 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Software:
Exklusiv für Abo-Kunden
Erscheinungsdatum:23.09.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!