PHP Academy · Lektion

Composer-scripts og autoloading

Definér scripts i composer.json, og aktivér autoloading af klasser.

Lektion 4 af 413 trin

Composer-scripts og autoloading er en gratis PHP Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i PHP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. PHP Academy-kurset indeholder 4 lektioner i alt.

Skripter i composer.json

Nøglen scripts definerer navngivne shell-kommandoer, som køres via composer run-script NAME eller blot composer NAME.

Definition af et skript

Skripter er arrays med shell-kommandoer eller callbacks til statiske PHP-metoder.

// composer.json
{
  "scripts": {
    "test": "vendor/bin/phpunit",
    "lint": "vendor/bin/phpcs src/",
    "cs-fix": "vendor/bin/phpcbf src/"
  }
}

Kørsel af skripter

Kør et skript med den korte form composer efterfulgt af navnet.

$ composer test
$ composer run-script lint

Hændelsesbaserede skripter

Composer udløser hændelser i livscyklussen, som du kan koble dig på: post-install-cmd, post-update-cmd, post-autoload-dump.

// composer.json
{
  "scripts": {
    "post-install-cmd": ["php artisan migrate --force"]
  }
}

Kædning af skripter

Referér til et andet skript med @script-name i et scripts-array.

// composer.json
{
  "scripts": {
    "build": ["@lint", "@test"]
  }
}

Typer af autoload-nøgler

Sektionen autoload understøtter tre typer: psr-4, classmap og files.

// composer.json
{
  "autoload": {
    "psr-4":    { "App\\": "src/" },
    "classmap": ["database/"],
    "files":    ["src/helpers.php"]
  }
}

autoload-dev

autoload-dev tilføjer kun autoload-regler til lokale testmiljøer — for testbasisklasser, der ikke skal følge med pakken.

Optimering af autoloaderen

Kør composer dump-autoload --optimize (eller -o) for at opbygge et statisk klassekort, så klasser slås hurtigere op. Det er ideelt i produktion.

--classmap-authoritative

composer dump-autoload -a slår kun op i klassekortet og falder aldrig tilbage til scanning af filsystemet via PSR-4. Brug det, når alle klasser er registreret.

APCu-cache

composer dump-autoload --apcu bruger APCu til at cache tilknytninger mellem klasser og filer i hukommelsen på tværs af forespørgsler — det giver en markant hastighedsforbedring på travle servere.

Praktisk opsætning af CI-skripter

Typiske projektskripter er: test, cs (kodestandarder), analyse (PHPStan/Psalm) og build (kæder alle tre sammen).

Opsummering

Composer-skripter automatiserer gentagne opgaver. Sektionen autoload knytter navnerum til filer. Brug dump-autoload -o i produktion for maksimal ydeevne.

Hurtigt tjek

Hvilken hændelse udløses, når "composer install" er fuldført?

Gratis at komme i gang

Lær PHP med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
49
Lektioner
195

Ofte stillede spørgsmål

Er lektionen “Composer-scripts og autoloading” gratis?

Ja — hele teksten til “Composer-scripts og autoloading” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af PHP Academy-kurset, skal du opgradere til CoddyKit PRO. PHP Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Composer-scripts og autoloading”?

Definér scripts i composer.json, og aktivér autoloading af klasser. Du øver dig i PHP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på PHP Academy?

Der kræves ingen tidligere erfaring. PHP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Composer-scripts og autoloading”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne PHP Academy-lektion?

Ja. Alle PHP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Installation og initialisering af Composer
  2. Tilføjelse og opdatering af pakker
  3. Forstå composer.lock
  4. Composer-scripts og autoloading
← Tilbage til PHP Academy