Daywalker: Sandbox implementieren?

Beitrag lesen

Die Templates mit eval() ausführen, nachdem ich vorher Template-Engine-eigene Funktionen auf die Files angewendet hab (was auch schon funktioniert). Nur wird in Blöcken wie <?php {Code} ?> auch der Zugriff auf die umgebende Klasse ermöglicht, dies soll eben NICHT möglich sein.

Dann ist eval, wie zu erwarten war, die falsche Funktion für deinen Ansatz.

Was bleibt dann noch, wenn du dein Template-Skript, welches sich verhalten soll, als wäre es komplett isoliert ausgeführt, ausführen willst?

Mein Tipp: Du mußt es komplett isoliert ausführen, in einem separaten Prozess.

Separate Prozesse kriegst du mit PHP aber nur hin, wenn du eine eigenständige PHP-Datei hast, die du dem PHP-Interpreter übergibst. Dessen Output kannst du dann capturen.