PHP Caricamento automatico con Composer


Esempio

Il compositore genera un file vendor/autoload.php .

Si potrebbe semplicemente includere questo file e si otterrà il caricamento automatico gratuitamente.

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

Ciò rende molto semplice il lavoro con dipendenze di terze parti.


È inoltre possibile aggiungere il proprio codice al caricatore automatico aggiungendo una sezione di caricamento automatico a composer.json .

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

In questa sezione definisci i mapping autoload. In questo esempio è una mappatura PSR-4 di uno spazio dei nomi in una directory: la directory /src risiede nella cartella principale dei progetti, allo stesso livello della directory /vendor . Un esempio di nome file potrebbe essere src/Foo.php contenente una classe YourApplicationNamespace\Foo .

Importante: Dopo aver aggiunto nuove voci alla sezione di caricamento automatico, è necessario rieseguire il comando dump-autoload per rigenerare e aggiornare il file vendor/autoload.php con le nuove informazioni.

Oltre al caricamento automatico della PSR-4 , Composer supporta anche PSR-0 , classmap e autoloading dei files . Vedere il riferimento del caricamento automatico per ulteriori informazioni.


Quando /vendor/autoload.php file /vendor/autoload.php , verrà restituita un'istanza del /vendor/autoload.php automatico Composer. È possibile memorizzare il valore restituito della chiamata di inclusione in una variabile e aggiungere altri spazi dei nomi. Questo può essere utile per il caricamento automatico delle classi in una suite di test, ad esempio.

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