__autoload() wird nicht mehr in manueller error_reporting Methodeaufgerufen

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Guten Tag alle miteinander,

nachdem ich gerade ein wenig Zeit damit verbracht habe, dachte ich,
frage ich 'mal hier (bin ja sonst eher Leser), ob ihr schon 'mal mit dem
Problem zu kämpfen gehabt habt bzw. was für WorkArounds ihr verwendet habt.

Ich habe ein recht komplexes Projekt, welches zum Großteil auf Klassen
(PHP 5) besteht. Und wie es sich natürlich gehört, gibt es auch Klassen,
die das Loggen übernehmen.
Jetzt habe ich gestern Abend mir ein paar Funktionen geschrieben, die
diese Logger (ein wenig manipulierter PEAR::Log) einbinden, und dann
über set_error_handler/set_exception_handler (an den jeweils benötigten
Stellen) eingebunden werden.
Zu diesem Zeitpunkt sind die Klassen auch noch nicht geladen, ich habe
mich da auch nicht großartig darum gekümmert, das macht alles meine
__autoload() Funktion.
So viel zur Ausgangssituation.
Nun jetzt gab's irgendwo in dem Code einen Fehler bzw. "nur" eine
Notice, auf die mein Error-Handler natürlich getriggert wurde. Der
wollte jetzt natürlich die Log-Klasse, hat aber (eben weil es schon ein
ausgelöster "Fehler" war?) zum Laden nicht mehr die __autoload() Klasse
verwendet, worauf dann natürlich gleich noch ein E_Error ausgelöst ist
und das Script sich ganz verabschiedet hat. Bis ich das herausgefunden
hatte, hat es schon ein wenig gedauert.
Meine Lösung war dann, alle Logger schon vorher zu instanzieren, und
dann per "global" in die Error-Handling-Funktionen reinzuholen. Damit
war das Problem verschwunden. Aber ganz gefallen tut mir das auch noch
nicht -- habt ihr mit dem Problem Erfahrung bzw. auch noch geschicktere
Lösungsansätze?

Grüße aus dem Frankenland
Benjamin

P.S.: Macht es Sinn, dass als PHP Bug zu reporten?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGqhVNdiDu8jq84Q0RAteGAKCpifQ42HugdlsAN5JghjOzvpnIyACf bNtI
6CWBCJsbXfxUuewmGufIYuU=
=QzIa
-----END PGP SIGNATURE-----
Benjamin Zikarsky [ Fr, 27 Juli 2007 17:54 ] [ ID #1780324 ]
PHP » de.comp.lang.php.misc » __autoload() wird nicht mehr in manueller error_reporting Methodeaufgerufen

Vorheriges Thema: Umwandlung von Zahlen in Buchstaben
Nächstes Thema: Zend Framework auf Webspace installieren