Ich versuche, eine Klasse automatisch zu laden, aber mein Autoloader scheint nicht richtig zu registrieren.PHP - Autoloader funktioniert nicht bei der Registrierung EDIT
Folder/File structure
:
- zest.php
- Osten
- a.thing.php
**zest.php**
:
<?php
$aThing = new a;
$aThing->test();
function my_autoloader($class) {
include 'aest/' . $class . '.thing.php';
}
spl_autoload_register('my_autoloader');
?>
**a.thing.php**
:
<?php
class a {
public function test() {
echo 'test';
}
}
ich von php.net gerade dieses Beispiel gezogen, was mit ihm los?
Die Autoloader-Funktion wird überhaupt nicht aufgerufen.
Nicht einmal, wenn es sich um eine anoymous Funktion ist:
spl_autoload_register(function($class) {
echo 'calling '.$class;
include 'aest/'.$class . '.test.php';
});
Es sollte funktionieren. Haben Sie Fehler? Versuchen Sie es zu debuggen, sind Sie auf dem richtigen Weg? Tun Sie eine 'var_dump (getcwd());' in Ihrem Autoload .. – vaso123
@lolka_bolka 'Klasse '' nicht gefunden ...' ist der Fehler. 'var_dump (getcwd());', tut nichts, was bedeutet, dass das Register nicht funktioniert, aber ich kann nicht herausfinden warum; nicht einmal eine anonyme Funktion registriert ... –
kgongonowdoe
Ich glaube du hast einen Tippfehler in 'include' aest/'. $ Klasse. '.thing.php'; 'es muss sein' include 'oest /'. $ Klasse. '.thing.php'; ' – MAZux