dedlfix: PHP Variablen übergabe in welcher Form sinnvoll?

Beitrag lesen

Tach!

"Literal" ist bei manchen Software-Designern ein anderer Ausdruck für eine Konstante.

Nicht ganz, eine Konstante ist etwas, das auf einen konstanten Wert verweist. Quasi eine Variable, deren Wert man nicht mehr verändern kann. Ein Literal hingegen ist die Darstellung eines bestimmten Wertes im Programmcode.

Beispiel:

define('FOO', 'bar');
define('QUX', 42);

'FOO', 'bar' und 'QUX' sind String-Literale und die 42 ist ein Integer-Literal. Nach dem Ausführen der Funktion define() existieren dann die beiden Konstanten FOO und QUX, diesmal ohne Anführungszeichen, weil das nun die Bezeichner sind, die auf die Werte bar und 42 verweisen. Dass 'FOO' und 'QUX' (mit Anführungszeichen) String-Literale sind, liegt daran, dass man eine Konstante in PHP nur mit einem Funktionsaufruf erstellen kann und diese Funktion den Namen der Konstante als String übergeben bekommen möchte. Das kann dann ein String-Literal sein oder auch eine Variable oder ein Ausdruck, der einen String zusammensetzt.

define('FOO', 'bar' . 'qux');

Hier ist 'bar' ist ein Stringliteral, genauso wie 'qux' ('FOO' ebenfalls) und der Ausdruck 'bar' . 'qux' ergibt den Wert barqux.

dedlfix.