dedlfix: Frage zu Singelton

Beitrag lesen

echo $begrüßung;

Bin eigentlich anfangs davon ausgegangen, dass das eingelesene file einmal im Arbeitsspeicher abgelegt wird und dann immer darauf zugegriffen werden kann. Aber offensichtlich kennt das php gar nicht?!

Das liegt nicht an PHP sondern an HTTP. Jeder Request wird einzeln und für sich selbst abgearbeitet. Von anderen Requests bekommt er nichts mit. Um diese "Unzulänglichkeit" von HTTP auszugleichen, und Daten requestübergreifend zu sichern ist z.B. der Session-Mechanismus erfunden worden.

Wenn ich das Array in die Session ablege, wird dann nur in der Session eine Referenz auf das Array oder alle Daten des Arrays übergeben?

Die Daten werden zum Script-Abschluss serialisiert und in einer Datei abgelegt. Beim Wiedereröffnen der Session wird diese Datei geparst und die Variablen werden neu angelegt. Du kannst davon ausgehen, dass zwischen zwei Requests von PHP und den ausgeführten Scripts nichts im Speicher verbleibt. (Diese Aussage ist zwar nicht ganz korrekt, das tut hier aber nichts zur Sache. Jedenfalls gibt es keine Garantie für deine Scripte, dass irgend etwas aus früheren Inkarnationen im Speicher überlebt.)

Diese Session-Dateien kann man sich mit einem Textanzeigeprogramm ansehen. phpinfo() sagt dir über session.save_path wo PHP diese Dateien ablegt.

Das Parsen der Session-Datei und parse_ini_file() werden sich vermutlich geschwindigkeitsmäßig nicht viel nehmen.

echo "$verabschiedung $name";