dedlfix: Syntaktisches Kuddelmuddel

Beitrag lesen

Tach!

ja stimmt natürlich, warum aber gerade echo und print in PHP Konstrukte und keine Funktionen sind, ist vermutlich auch nur aus historischen Gründen nachvollziehbar. Deswegen ist ihre Beschreibung auch in die Funktionsreferenz ausgelagert, unter Stringfunktionen ;-)

In die String-Funktionen gehören sie eigentlich auch nicht hin. Sie bearbeiten keine Strings, sondern geben Zeugs aus, nicht nur Strings.

Den Begriff "Funktionsreferenz" darf man sicher nicht so eng sehen, denn da werden auch Klassen beschrieben, sowie Konstanten und andere Extensions-spezifische Dinge.

Ja, Konstrukte gibt es überall, die Wahl was Konstrukt ist und was nicht, ist aber bei PHP in diesem Fall etwas merkwürdig.

Für den Außenstehenden mag das zutreffen. Nicht immer findet man so einfach eine Erklärung wie bei isset(). Das sieht aus wie eine Funktion, aber wenn es auch so arbeiten würde, könnte es seine Funktion nicht erfüllen, weil die übergebenen Parameter vorher aufgelöst werden würden. Stattdessen muss der Variablenname bis zu isset() durchkommen, weil es ja in der Variablenverwaltung nach deren Existenz suchen muss. Die Alternative wäre wie bei defined(), da übergibt man nicht die Konstante sondern ihren Namen als String.

dedlfix.