dedlfix: Verständnisfrage andere Zuweisung in PHP

Beitrag lesen

Tach!

Wenn ich einem Anfänger PHP beibringen wollte, wären variable Variablen ein Kapitel, das ich ganz bewusst auslassen würde.

Vom Weglassen von Dingen, die in der Welt draußen vorkommen, verschwinden diese nicht von selbst. Zeigen und Aufklärung über die besseren Alternativen fände ich sinnvoller.

Für variable Variablen fällt mit grad kein Anwendungsbeispiel ein, aber variable Funktionen sind ja so ähnlich. Hier gab es auch eine historische Entwicklung in der Reihenfolge, wie ich die Alternativen gleich aufführen werden. Variable Funktionen haben als Callback eine Relevanz. Man übergibt einen Funktionsnamen als String. Um die Funktion mit diesem Namen auszuführen, braucht es eine variable Funktion. Das ist relativ einfach zu verstehen. Die besseren Alternativen wären call_user_func(), damit kann man dann auch Methoden von Objekten und Klassen übergeben und ausführen. Und schon kann man einen Nachteil an der einfachen Variante aufzeigen, die kann nur simple Funktionsnamen übergeben bekommen. Anschließend kann man die wenig intuitive Umständlichkeit beim Notieren von komplexen Callables (Array-Schreibweise) zeigen und die moderne Alternative vorstellen: anonyme Funktionen. Damit kommt man ganz weg von den "stringly-typed" Varianten, was dann auch einen entscheidenden Vorteil nicht nur beim Arbeiten in modernen IDEs bringt. Aus Strings kann die IDE die Zusammenhänge zwischen Stringinhalt und real existierender Funktion/Klasse/Variable nicht oder nur schwer erkennen und auch als Mensch hat man so seine Schwierigkeiten, besonders wenn ein und derselbe Wert in unterschiedlichen Kontexten verwendet wird. Bei auf Code basierenden Lösungen kann es zu keinen Verwirrungen kommen, denn da muss man die Dinge immer eindeutig benennen.

dedlfix.