Skrypty Composera i autoloading
Definiuj skrypty w composer.json i włącz automatyczne ładowanie klas
Skrypty Composera i autoloading to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Skrypty w composer.json
Klucz scripts definiuje nazwane polecenia powłoki, które można uruchamiać za pomocą composer run-script NAME lub po prostu composer NAME.
Definiowanie skryptu
Skrypty są tablicami poleceń powłoki lub wywołań zwrotnych statycznych metod PHP.
// composer.json
{
"scripts": {
"test": "vendor/bin/phpunit",
"lint": "vendor/bin/phpcs src/",
"cs-fix": "vendor/bin/phpcbf src/"
}
}Uruchamianie skryptów
Uruchom skrypt, używając skróconej formy composer połączonej z jego nazwą.
$ composer test
$ composer run-script lintSkrypty oparte na zdarzeniach
Composer wywołuje zdarzenia cyklu życia, do których można się podłączać: post-install-cmd, post-update-cmd, post-autoload-dump.
// composer.json
{
"scripts": {
"post-install-cmd": ["php artisan migrate --force"]
}
}Łączenie skryptów
Odwołaj się do innego skryptu za pomocą @script-name wewnątrz tablicy scripts.
// composer.json
{
"scripts": {
"build": ["@lint", "@test"]
}
}Typy klucza autoload
Sekcja autoload obsługuje trzy typy: psr-4, classmap i files.
// composer.json
{
"autoload": {
"psr-4": { "App\\": "src/" },
"classmap": ["database/"],
"files": ["src/helpers.php"]
}
}autoload-dev
autoload-dev dodaje reguły automatycznego ładowania tylko w środowiskach lokalnych i testowych — na przykład dla bazowych klas testowych, które nie powinny być dołączane do pakietu.
Optymalizacja autoloadera
Uruchom composer dump-autoload --optimize (lub -o), aby zbudować statyczną mapę klas i przyspieszyć rozwiązywanie klas. To rozwiązanie jest idealne na produkcji.
--classmap-authoritative
composer dump-autoload -a wyszukuje klasy wyłącznie w mapie klas i nigdy nie korzysta awaryjnie ze skanowania systemu plików PSR-4. Używaj tej opcji, gdy wszystkie klasy są zmapowane.
Pamięć podręczna APCu
composer dump-autoload --apcu używa APCu do buforowania w pamięci mapowań klas na pliki między żądaniami — zapewnia to znaczący wzrost szybkości na obciążonych serwerach.
Praktyczna konfiguracja skryptów CI
Typowe skrypty projektu to: test, cs (standardy kodowania), analyse (PHPStan/Psalm) i build (łączący wszystkie trzy).
Podsumowanie
Skrypty Composer automatyzują powtarzalne zadania. Sekcja autoload łączy przestrzenie nazw z plikami. Na produkcji używaj dump-autoload -o, aby uzyskać maksymalną wydajność.
Szybkie sprawdzenie
Które zdarzenie jest wywoływane po zakończeniu działania „composer install”?
Często zadawane pytania
Czy lekcja „Skrypty Composera i autoloading” jest bezpłatna?
Tak — pełny tekst „Skrypty Composera i autoloading” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Skrypty Composera i autoloading”?
Definiuj skrypty w composer.json i włącz automatyczne ładowanie klas Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Skrypty Composera i autoloading”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Instalowanie i inicjalizowanie Composera
- Dodawanie i aktualizowanie pakietów
- Zrozumienie pliku composer.lock
- Skrypty Composera i autoloading