Hinweis 019 Automatisches Laden durch spl_autoload_register

黄舟
Freigeben: 2023-03-04 09:24:01
Original
1092 Leute haben es durchsucht

spl_autoload_register

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_register – Registrieren Sie die angegebene Funktion als Implementierung von __autoload

Syntax

bool spl_autoload_register ([ callable $autoload_function [, bool $throw = true [, bool $prepend = false ]]] )

Erklärung

Mit dieser Funktion können Sie die Klasse laden Gibt den Adressierungsmodus an, sodass keine großen Mengen benötigt und eingefügt werden müssen. Das System folgt automatisch den angegebenen Regeln und geht zum entsprechenden Speicherort, um die Klasse zu finden, die instanziiert werden muss. Obwohl diese Methode relativ niedrig ist, müssen wir diese Arbeit im Allgemeinen nicht ausführen, wenn ein Framework vorhanden ist. Aber es ist unvermeidlich, dass es immer noch Zeiten gibt, in denen ich es verwenden muss. Als ich beispielsweise diesen Blog schrieb, musste ich mich selbst mit dem Skript herumschlagen. Das folgende Beispiel ist ein einfaches Autoloading-Programm, das in meinem Skript verwendet wird.

Beispiel

spl_autoload_register(function ($class) {
    $rootPath = realpath(sprintf('%s/..', __DIR__));
    $paths = array(        'src',
    );    foreach ($paths as $path) {        if (is_file(
            $file = $rootPath . DIRECTORY_SEPARATOR . $path . DIRECTORY_SEPARATOR . $class
            . '.php'
        )) {            include $file;            break;
        }
    }
});
Nach dem Login kopieren

Beachten Sie, dass anonyme Funktionen nur in PHP 5.3 und höher verwendet werden können. Wenn Sie feststellen, dass sie nicht verwendet werden können, überprüfen Sie Ihre PHP-Version. Hier gebe ich einfach alle zu durchsuchenden Klassen in meinem src-Ordner an und die Klassennamen stimmen genau mit den Dateinamen überein.

Das Obige ist der Inhalt von Hinweis 019 über spl_autoload_register, um ein automatisches Laden zu erreichen. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!