Przejdź do głównej zawartości

53. Composer — zarządzanie zależnościami PHP

Composer — menedżer pakietów PHP

Composer to narzędzie do zarządzania zależnościami w PHP. Zamiast ręcznie pobierać biblioteki, definiujesz je w pliku composer.json i instalujesz jedną komendą. Composer obsługuje też autoloading klas zgodny z PSR-4.

  • Każdy projekt PHP używa Composera (Laravel, Symfony, WordPress)
  • Packagist.org zawiera ponad 400 000 pakietów PHP
  • Autoloading PSR-4 eliminuje ręczne require plików
  1. Wyjaśnić czym jest Composer i czemu zastąpił ręczne pobieranie bibliotek
  2. Opisać strukturę composer.json i composer.lock
  3. Omówić autoloading PSR-4
  4. Pokazać semantic versioning (^, ~, >=)
  1. Czym jest Composer i Packagist — ekosystem
  2. Instalacja i podstawowe komendy: install, require, update, dump-autoload
  3. Plik composer.json — struktura i kluczowe pola
  4. Plik composer.lock — dlaczego jest ważny w VCS
  5. Autoloading PSR-4 — konfiguracja i vendor/autoload.php
  6. Semantic versioning: ^1.2.3, ~1.2, >=1.0
  7. Dev dependencies: --dev flag i testy/linting

Przykład 1

Plik composer.json z require i autoload PSR-4

Przykład 2

Użycie biblioteki po require vendor/autoload.php

Przykład 3

Komendy: composer require, update, dump-autoload
  1. Wstęp — życie bez menedżera pakietów
  2. Czym jest Composer i Packagist
  3. Instalacja i komendy
  4. Struktura composer.json
  5. Autoloading PSR-4
  6. Semantic versioning
  7. Dobre praktyki (lock file w VCS, —no-dev w produkcji)
  8. Podsumowanie i bibliografia

Zainstaluj jeden pakiet i opisz to!

Zainstaluj np. vlucas/phpdotenv lub ramsey/uuid i opisz cały proces. Opis z praktyki jest lepszy niż teoria.