Zoeken…


autoloading

Voor bibliotheken die autoload-informatie opgeven, genereert Composer een vendor / autoload.php-bestand. U kunt dit bestand eenvoudig opnemen en u krijgt gratis autoloading.

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

Dit maakt het heel gemakkelijk om code van derden te gebruiken. Bijvoorbeeld: als uw project afhankelijk is van Monolog, kunt u er gewoon klassen uit gaan gebruiken en worden deze automatisch geladen.

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

U kunt zelfs uw eigen code toevoegen aan de autoloader door een autoload veld toe te voegen aan composer.json

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

Componist registreert een PSR-4-autoloader voor de Acme-naamruimte.

U definieert een toewijzing van naamruimten naar mappen. De src directory bevindt zich in uw projectwortel, op hetzelfde niveau als de leveranciersmap. Een voorbeeld van een bestandsnaam is src/Foo.php met de klasse Acme\Foo .

Nadat u het veld autoload hebt toegevoegd, moet u dump-autoload opnieuw uitvoeren om het bestand vendor/autoload.php opnieuw te genereren.

Als u dat bestand opneemt, wordt ook de autoloader-instantie geretourneerd, zodat u de retourwaarde van de include-aanroep in een variabele kunt opslaan en meer naamruimten kunt toevoegen. Dit kan bijvoorbeeld handig zijn voor het automatisch laden van klassen in een testpakket.

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

Naast PSR-4 autoloading, ondersteunt Composer ook PSR-0, classmap en autoloading van bestanden.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow