Bin auf ein ziemliches Problem bei der Überladung von "AdminMenuSource" gestoßen... Wenn man diese Klasse überlädt mit z.B. PHP: class pt_AdminMenuSource extends pt_AdminMenuSource_parent dann meldet das System beim erneuten Aufruf, dass "pt_AdminMenuSource_parent" nicht definiert ist. Ursache ist das Überladen, in Verbindung mit dem Caching... Durch das Überladen entsteht ja das Objekt "pt_AdminMenuSource", dass dann serialisiert und gecached wird... Wenn der Cache beim nächsten Durchlauf nun wieder geladen wird, dann wird der Cacheinhalt de-serialisiert (mit "unserialze"), und bei diesem Prozess wird versucht, das Objekt "pt_AdminMenuSource" zu instantiieren. Wobei dann die (richtige) Meldung, dass "pt_AdminMenuSource_parent" nicht definiert ist, erscheint. Denn "pt_AdminMenuSource_parent" wird ja erst bei der Instantiierung von "AdminMenuSource" erzeugt. Im Moment fiel mir da nur ein ganz brutale Lösung ein: PHP: $t_data_serialized=str_replace('O:18:"pt_AdminMenuSource"','O:15:"AdminMenuSource"',$t_data_serialized); D.h, in den serialisierten Cache-Daten wird das Objekt 'O:18:"pt_AdminMenuSource"' ersetzt mit 'O:15:"AdminMenuSource"', so dass beim de-serialisieren des Cache das "AdminMenuSource"-Objekt erstellt wird, und so alles wieder seinen richtigen Gang geht...
Hallo Avenger, das stimmt. Das Problem ist jetzt schon öfter aufgefallen. Unschön ist, dass das ganze Objekt gecached wird. Schöner wäre, wenn nur das Ergebnis der Methoden gecached werden würde. Wir ordnen gerade eh die Klassen im Adminbereich um und passen die Stelle dann auch gleich mit an.