Mach dich mal zu serialize & unserialize schlau …*oder pack das Objekt in die Session. Vergiss aber nicht, dass evtl. Rssourcen flöten gehen …*dazu kannst du aber __sleep und __wakeup definieren und in dem Falle solche Referenzen wieder aufbauen bzw. sauber löschen.
Nach dem Scriptende wird der ganze Speicher leer geputzt und damit gehen natürlich auch alle Objekte verloren.
Natürlich kannst du sie vorher serialisieren und in einen permanenten Speicher (Session) schreiben. Das geht mit Objekten genauso wie mit Arrays oder skalaren Variablen.
Aber es gibt dabei Einschränkunge, die man kennen sollte: Serialisierung ist das Überführen einer Variable in eine Textform, aber nicht alles lässt sich in Textform darstellen - Ressourcen bspw. nicht. Die Textform ist oft auch um ein Vielfaches größer als das originäre Objekt. Außerdem dauert das Deserialisieren u.U. länger als das Erzeugen einer neuen Instanz.
Welche Objekte willst du denn konkret "am Leben erhalten"? Lohnt sich das überhaupt?
Zweite Frage: Sobald man von "Projekt" sprechen kann, also sobald es mehr als eine handvoll Dateien/Resourcen/URLs sind, ist OOP keine schlechte Wahl. Aber noch wichtiger ist eine gesunde und durchdachte Applikations- und Code-Struktur. OOP allein heißt nämlich noch nicht, dass es wartbar und erweiterbar ist. Andererseits ist non-oo auch nicht zwangsläufig eine Sackgasse (nur etwas steiniger).
Also im Moment ist es "nur" ein kleines CMS bzw. soll es werden, was der Pädagoge so braucht. Aber ich befürchte das die Wünsche der Kolleginnen nicht enden werden, und das Projekt somit wachsen wird.
OOP??? Da ich bisher nur mit externen Klassen ( z.B. fpdf, hash ) zu tun hatte, dachte ich ich erweitere mein Horizont etwas.
Zumindest werde ich erstmal bestimmte Teile ( häufige Verwendung ) in Klassen umwandeln.
Also z.B. Kalender, DB-connect, Foto ...
vielleicht fällt mir bei der Arbeit noch was auf, was sich lohnt in eine Klasse zu wandeln.
Kommentar