Einige Punkte, die ich gefunden habe:
Die Klasse ist abstract
als seltsam markiert, da ich herausfand, dass sie nur statische Methodenaufrufe hat, und da sie "self ::" für statische Aufrufe verwendet, denke ich, gibt es keine sinnvolle Möglichkeit, die Klasse irgendwie zu erweitern. (Mit der LSB-Ausgabe).
Ich sehe kein großes Problem mit der Klasse "alle statisch" und ich gehe davon aus, dass sie in Ihr Projekt passt. (Sie haben keinen eindeutigen Bootstrap und möchten / benötigen nicht mehrere Instanzen dieser Klasse.)
Das include_once $file;
ist mir ein bisschen seltsam, da der "_once" -Teil nicht nötig sein sollte. Wenn Sie den Loader jedoch zu einem späteren Zeitpunkt im Projekt geschrieben haben, können Sie feststellen, wo möglicherweise Probleme auftreten, wenn Klassen zweimal geladen werden.
Normalerweise würde ich sagen, dass Sie PHP nicht dazu zwingen müssen, sich zu erinnern, ob es bereits eine Datei berührt hat (und einen teuren Datenträger ()), da die Ladefunktion nur einmal für jede zuvor unbekannte Klasse aufgerufen wird.
Alles in allem finde ich das Verhältnis von Code und Nutzen gut und es ist nicht zu komplex.
Alternativen
Die anstehenden "Standards" und libs werden bereits erwähnt, daher weise ich auf eine andere Art des automatischen Ladens hin, die "besser ist" und weniger aufdringlich ist (weniger Code in Ihrer Anwendung erforderlich).
Sie PHP Autoload Builder
scannen Ihre Codebasis und stellen eine Datei mit einer großen Array-Zuordnung für alle Klassen (Schnittstellen usw.) bereit, die Sie nur in Ihren Bootstrap einbeziehen müssen. Sie kann erneut ausgeführt werden, um neue Klassen aufzunehmen, oder die resultierende Datei kann von Hand bearbeitet werden. (Einige Leute bauen Werkzeuge um sie herum, sodass sie sich automatisch in der Entwicklung neu erstellen, wenn eine Klasse nicht gefunden wird).