Composer
Cosa e Composer
Sezione intitolata “Cosa e Composer”Composer e il gestore di dipendenze piu usato in PHP. Una dipendenza e una libreria esterna che il tuo progetto usa per non riscrivere tutto da zero.
Esempio: invece di scrivere da solo una libreria per inviare email, puoi installarne una gia pronta.
composer.json
Sezione intitolata “composer.json”Il file composer.json descrive il progetto e le librerie richieste.
Puoi crearne uno con:
composer initPer iniziare puoi anche installare direttamente un pacchetto.
composer require monolog/monologComposer aggiorna composer.json e scarica il codice nella cartella vendor.
Installare dipendenze
Sezione intitolata “Installare dipendenze”Se scarichi un progetto che ha gia composer.json, esegui:
composer installComposer legge anche composer.lock, se presente, e installa le versioni previste.
Autoload
Sezione intitolata “Autoload”Composer crea un file di autoload che carica classi e librerie.
<?phprequire __DIR__ . '/vendor/autoload.php';Dopo questa riga puoi usare le librerie installate.
Aggiornare con cautela
Sezione intitolata “Aggiornare con cautela”Per aggiornare le librerie:
composer updateQuesto comando puo cambiare versioni. Nei progetti reali va usato con attenzione e seguito da test.
Regola pratica
Sezione intitolata “Regola pratica”composer requireaggiunge una libreriacomposer installinstalla cio che il progetto richiedecomposer updateaggiorna le versioni consentite
Composer diventa importante quando il progetto smette di essere un singolo file e inizia a usare librerie esterne.
composer.lock
Sezione intitolata “composer.lock”Quando installi dipendenze, Composer crea spesso anche composer.lock. Questo file registra le versioni esatte installate.
Il suo scopo e semplice: se un’altra persona installa il progetto, riceve le stesse versioni delle librerie. Cosi si evitano differenze difficili da capire.
Cartella vendor
Sezione intitolata “Cartella vendor”La cartella vendor contiene il codice scaricato da Composer. Di solito non la modifichi a mano.
In molti progetti vendor non viene salvata in Git. Si salva invece composer.json e composer.lock, poi ogni persona esegue:
composer installUsare una libreria installata
Sezione intitolata “Usare una libreria installata”Dopo l’autoload, puoi usare classi fornite dai pacchetti.
<?phprequire __DIR__ . '/vendor/autoload.php';
// Qui puoi usare le librerie installate con ComposerOgni libreria ha la propria documentazione, ma il punto di ingresso nel progetto PHP resta quasi sempre vendor/autoload.php.
Regola pratica
Sezione intitolata “Regola pratica”Non installare librerie per ogni piccola cosa. Prima capisci il problema. Poi scegli una libreria quando ti evita lavoro complesso o delicato.