Sobes.tech
Junior

Jak zwykle korzystasz z narzędzia Composer?

sobes.tech AI

Odpowiedź od AI

Composer jest menedżerem zależności dla PHP. Zazwyczaj używam go do:

  1. Instalacji i zarządzania bibliotekami i frameworkami zewnętrznymi. Composer umożliwia łatwe dodawanie, aktualizowanie i usuwanie zależności projektu.

    // composer.json
    {
        "require": {
            "monolog/monolog": "2.0.*"
        }
    }
    
    composer install
    composer update
    composer remove monolog/monolog
    
  2. Automatycznego ładowania klas. Composer generuje autoloader na podstawie pliku composer.json, co eliminuje konieczność ręcznego dołączania plików.

    // composer.json
    {
        "autoload": {
            "psr-4": {
                "App\\": "src/"
            }
        }
    }
    
    // index.php
    require __DIR__ . '/vendor/autoload.php';
    
    use App\MyClass;
    
    $obj = new MyClass();
    
  3. Definiowania skryptów. Composer pozwala na definiowanie własnych poleceń do wykonywania różnych zadań, takich jak testy, wdrożenie czy analiza statyczna.

    // composer.json
    {
        "scripts": {
            "test": "phpunit",
            "deploy": [
                "git push",
                "ssh user@host 'cd /var/www/html && composer install --no-dev'"
            ]
        }
    }
    
    composer test
    composer deploy
    
  4. Tworzenia i publikowania własnych bibliotek. Composer pomaga poprawnie strukturyzować projekt biblioteki i łatwo ją publikować na Packagist.

  5. Zarządzania wersjami pakietu PHP. Composer obsługuje różne ograniczenia wersji (np. ~2.0, ^3.0, >=7.4) zapewniając kompatybilność.

  6. Używania globalnych zależności (choć rzadziej). Czasami używam composer global require dla narzędzi takich jak PHPUnit czy PHP_CodeSniffer, ale wolę instalować je lokalnie w każdym projekcie dla lepszej izolacji.

Ogólnie rzecz biorąc, Composer jest nieodzownym narzędziem w mojej codziennej pracy z PHP, znacznie upraszczając zarządzanie projektami i zależnościami.