PHP: __autoload() mit statischen Funktionen

Hallo zusammen,

ich habe folgendes Problem:
Soweit ich es richtig verstanden habe, wird die Funktion __autoload($lcass) immer automatisch aufgerufen, wenn eine Klasse vorher nicht definiert wurde.
Nun habe ich eine Klasse mit einer statischen Funktion. Wenn ich in dieser eine undefinierte Klasse aufrufe wird die Funktion __autload() nicht ausgelöst.
Wenn ich die __autoload-Funktion mit spl_autoload_register() definiere, dann tut es, aber das wollte ich eigentlich nicht bei jeder statischen Funktion machen.

Gibt es dazu eine Lösung? Oder funktioniert die __autoload()-Funktion bei statischen Funktionen nicht?

Vielen Dank im Vorraus

Kann ich nicht nachvollziehen – __autoload wird aufgerufen, wie an jeder anderen Stelle auch.

Sicher, dass es nicht an deiner __autoload-Funktion liegt? Lass dir darin mal den Namen der Klasse ausgeben.

Kann ich nicht nachvollziehen – __autoload wird aufgerufen, wie an jeder anderen Stelle auch.

Sicher, dass es nicht an deiner __autoload-Funktion liegt? Lass dir darin mal den Namen der Klasse ausgeben.[/quote]

Genau das ist mein Problem. __autoload wird anscheinend nicht aufgerufen. Ich habe es probiert den Namen der Klasse auszugeben, aber es passiert nichts.

Hier mal meine Datei:

class Foo {
        public function __autoload($class) {
            echo $class;
        }

        public static function bar() {
            $test = new Class();
        }

Aufgerufen wird das ganze mit:

Ich sehe keine Ausgabe ‘Class’, sondern nur einen Fehler:

Natürlich, so nicht …

__autoload muss eine globale Funktion sein, keine Methode einer Klasse.

Natürlich, so nicht …

__autoload muss eine globale Funktion sein, keine Methode einer Klasse.[/quote]

Achso. Gut, das erklärt dann natürlich alles. Ich dachte, dass es eine Funktion innerhalb einer Klasse wäre.
Dann ist die Frage hiermit geklärt. Danke.