Rolf B: ... doch nicht

Beitrag lesen

Hallo tk,

ja, file_get_contents holt den Dateiinhalt als String, führt ihn aber nicht aus. Dafür müsste man einen eval("return " + $filecontent + ";") nachschalten (Ahhh! Nicht hauen!!!)

Wenn man ausführbaren Code erzeugen will, dann "<?php return " vor den var_export und ein ";" dahinter. Das Ergebnis lässt sich dann includen.

Ob das schneller oder langsamer ist als serialize/unserialize muss man dann auf dem konkreten System messen. Der Opcode-Cache dürfte hier eine wesentliche Rolle spielen.

json_encode/json_decode statt serialize/unserialize geht auch, es produziert in diesem Fall hier sogar eine deutlich kleinere Datei. Aber in meinem Test braucht unserialize 6 ms für 4000 Zeilen und json_decode 15 ms (im Vergleich zu den 21.5ms für include). Und man muss aufpassen, json_decode mit true als 2. Parameter aufzurufen, damit man Arrays bekommt und nicht std_class Objekte.

Rolf

--
sumpsi - posui - obstruxi