dedlfix: Konfigurationsdatei

Beitrag lesen

Tach!

Wenn in einer Datei, die mit include oder require (oder den Pendants mit -once) eingefügt wird, am Ende ein return-Statement außerhalb aller Funktionen steht, dann ist genau das möglich, was Sven hier zeigt: Der Wert wird als Quasi-Funktionsergebnis für include oder require verwendet.

... und ich nehme an (könnte es auch testen) die restlichen Variablen des eingefügten Skriptes sind ebenfalls vefügbar im aufrufenden Skript... Oder ist es dann wenigstens so, dass nur der/die Wert(e) des return zurückkommen?

Die return-Funktionalität kommt lediglich zusätzlich zum bekannten Verhalten hinzu. Alles andere, was in der inkludierten Datei abläuft, geschieht wie üblich so, als ob der Code direkt an der inkludierenden Stelle stünde.

Noch ein Wort zu den Klammern: Man kann ja auch bei Ausdrücken wie $a = ($b + $c); Klammern verwenden. Das funktioniert genauso wie die Klammern bei require/include. Die Klammern gehören zur Syntax des Ausdrucks und werden ohne eine Wirkung zu entfalten ausgewertet. Funktionsklammern hingegen gehören nicht zum Ausdruck oder den Ausdrücken, die als Parameter notiert sind.

Was passiert hier?

$foo = require('bar') . '.php';

dedlfix.