Composer-scripts og autoloading
Definér scripts i composer.json, og aktivér autoloading af klasser.
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 lintHæ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?
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
- Installation og initialisering af Composer
- Tilføjelse og opdatering af pakker
- Forstå composer.lock
- Composer-scripts og autoloading