Ich spiele mit der Autoload-Funktion von SPL herum und es scheint mir etwas Wichtiges zu fehlen, da ich es momentan nicht zum Laufen bringen kann. Hier ist das Snippet, das ich gerade verwende:
%Vor% Wenn ich echo get_include_path()
bekomme, bekomme ich den erwarteten Pfad:
Wenn ich den Code ausführe, erhalte ich folgende Fehlermeldung:
Schwerwiegender Fehler: spl_autoload () [function.spl-autoload]: Klassenanforderung konnte nicht geladen werden /home/someuser/public_html/subdomains/test/contact.php in Zeile 5
Request.class.php ist definitiv im Verzeichnis / home / someuser / public_html / subdomains / test / includes / classes /.
Was vermisse ich?
Der Pfad, in dem die Klasse enthalten sein soll, scheint nicht mit dem Pfad übereinzustimmen, den Sie erwarten. Vergleichen Sie
%Vor%mit
%Vor% Der Unterschied ist, dass Ihre Klasse nicht in includes/classes/
ist, da Ihre SPL es erfordert, aber ein paar Verzeichnisse darüber.
Ich habe eine ähnliche Fehlermeldung erhalten, aber mein Problem war anders. Meine Fehlermeldung sah wie
aus %Vor% Es stellte sich heraus, dass ich vergessen habe, Lib\
von Lib\Regex
in der Regex-Klassendefinition selbst zu entfernen. Ich hatte etwas wie das Folgende:
Tags und Links php spl spl-autoloader