Ricerca…


Caricamento automatico

Per le librerie che specificano le informazioni sul caricamento automatico, Composer genera un file venditore / autoload.php. Puoi semplicemente includere questo file e otterrai automaticamente il caricamento automatico.

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

Questo rende davvero facile l'uso di codice di terze parti. Ad esempio: se il tuo progetto dipende da Monolog, puoi iniziare a utilizzare le classi da esso e verranno caricati automaticamente.

$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');

È anche possibile aggiungere il proprio codice al caricatore automatico aggiungendo un campo di autoload a composer.json

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

Il compositore registrerà un autoloader PSR-4 per lo spazio dei nomi Acme.

Si definisce una mappatura dai namespace alle directory. La directory src si trova nella root del progetto, allo stesso livello della directory del fornitore. Un esempio di nome del file sarebbe src/Foo.php contenente una classe Acme\Foo .

Dopo aver aggiunto il campo di caricamento automatico, è necessario eseguire nuovamente dump-autoload per rigenerare il file vendor/autoload.php .

Anche il file restituirà l'istanza del caricatore automatico, quindi è possibile memorizzare il valore restituito della chiamata di inclusione in una variabile e aggiungere altri domini. 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('Acme\\Test\\', __DIR__);

Oltre al caricamento automatico della PSR-4, Composer supporta anche PSR-0, classmap e autoloading dei file.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow