Note 019 Chargement automatique via spl_autoload_register

黄舟
Libérer: 2023-03-04 09:24:01
original
1092 Les gens l'ont consulté

spl_autoload_register

(PHP 5 >= 5.1.2, PHP 7)

spl_autoload_register — Enregistrez la fonction donnée en tant qu'implémentation de __autoload

Syntaxe

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

Explication

Grâce à cette fonction, vous pouvez charger la classe spécifie le mode d'adressage, il n'est donc pas nécessaire d'exiger et d'inclure de grandes quantités. Le système suivra automatiquement les règles spécifiées et se rendra à l'emplacement correspondant pour trouver la classe qui doit être instanciée. Bien que cette méthode soit de niveau relativement bas, s’il existe un cadre, nous n’avons généralement pas besoin de faire ce travail. Mais il est inévitable qu'il y ait encore des moments où j'aurai besoin de l'utiliser. Par exemple, lorsque j'écrivais ce blog, j'avais besoin de jouer moi-même avec le script. Pour le moment, il n'y a aucun moyen de contourner ce problème. L'exemple ci-dessous est un simple programme de chargement automatique utilisé dans mon script.

Exemple

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;
        }
    }
});
Copier après la connexion

Notez que les fonctions anonymes ne peuvent être utilisées qu'en PHP 5.3 et supérieur. Si vous constatez qu'elles ne peuvent pas être utilisées, vérifiez votre version PHP. Ici, je spécifie simplement toutes les classes à rechercher dans mon dossier src, et les noms de classes sont exactement les mêmes que les noms de fichiers.

Ce qui précède est le contenu de la note 019 via spl_autoload_register pour réaliser un chargement automatique. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!