PHP Chargement automatique avec Composer


Exemple

Composer génère un fichier vendor/autoload.php .

Vous pourriez simplement inclure ce fichier et vous obtiendrez un chargement automatique gratuit.

require __DIR__ . '/vendor/autoload.php';

Cela facilite le travail avec des dépendances tierces.


Vous pouvez également ajouter votre propre code à l'autochargeur en ajoutant une section de chargement automatique à votre composer.json .

{
    "autoload": {
        "psr-4": {"YourApplicationNamespace\\": "src/"}
    }
}

Dans cette section, vous définissez les mappages à chargement automatique. Dans cet exemple, il s'agit d'un mappage PSR-4 d'un espace de noms vers un répertoire: le répertoire /src réside dans le dossier racine de vos projets, au même niveau que le répertoire /vendor . Un exemple de nom de fichier serait src/Foo.php contenant une classe YourApplicationNamespace\Foo .

Important: Après avoir ajouté de nouvelles entrées à la section autoload, vous devez réexécuter la commande dump-autoload pour générer à nouveau et mettre à jour le fichier vendor/autoload.php avec les nouvelles informations.

En plus du chargement automatique du PSR-4 , Composer prend également en charge le chargement automatique des files PSR-0 , classmap et files . Voir la référence de chargement automatique pour plus d'informations.


Lorsque vous /vendor/autoload.php fichier /vendor/autoload.php , il retourne une instance de Composer Autoloader. Vous pouvez stocker la valeur de retour de l'appel d'inclusion dans une variable et ajouter d'autres espaces de noms. Cela peut être utile pour charger automatiquement des classes dans une suite de tests, par exemple.

$loader = require __DIR__ . '/vendor/autoload.php';
$loader->add('Application\\Test\\', __DIR__);