"Wenn die Lösung eval() heißt, hast du ein Problem"
Eine eingebundene Datei läuft immer im aktuellen Namenraum und kann auf dessen Variablen zugreifen. Es kann sie natürlich auch setzen, ein echo ist völlig unnötig.
ist PHP-Syntax - sie wegzulassen wäre falsch. Man sollte bedenken das man auch innerhalb von PHP jederzeit mit ?> ... einschließt ist also ganz simpel ungültiges PHP. (Es gibt eine Ausnahme, welche die Regel bestätigt.)
Bei includes() die selbst keine Ausgabe haben sollen, bietet sich an den enthaltenen Quellcode in Funktionen zu verpacken, welche man dann von der Hauptdatei nach dem Einbinden aufruft. Somit kann man auch Parameter übergeben und exakter steuern.
Falls man keinen Einfluss auf den Quellcode des Includes hat und Ausgaben blocken möchte hilft der folgende Code:
1:
2:
3:
4: | ob_start();
include('datei.php');
$ausgabe = ob_get_contents();
ob_end_clean(); |
---
Weaverslave