Composer

Francesco Ciannavei

Composer

Il mio uso di Composer, il gestore di dipendenze di PHP, va oltre require e update. In TUN2U, in STCC e in HSPI l'ho usato anche per il codice che non è pubblico: repository privati con Satis, pacchetti pubblicati, credenziali in auth.json e patch ai pacchetti di terze parti.

Repository privati e pubblicazione

Non tutto il codice può essere pubblico. Per i pacchetti privati ho messo in piedi repository con Satis, così i progetti li installano e li aggiornano con Composer come qualsiasi altra dipendenza. In parallelo ho pubblicato pacchetti su Packagist, il repository centrale dell'ecosistema PHP, e distribuito pacchetti privati tramite GitHub Packages, usando l'integrazione con i repository Git.

Autenticazione per i pacchetti a pagamento

Alcuni pacchetti commerciali richiedono credenziali per essere scaricati. Le gestisco in auth.json, fuori dal codice del progetto, e integro questi flussi nelle pipeline CI/CD senza esporre informazioni sensibili. In TUN2U questo valeva anche per il repository dei pacchetti di Magento.

Patch senza fork

Quando un pacchetto di terze parti ha un bug e il fix non è ancora uscito, applico la correzione con cweagans/composer-patches, senza mantenere un fork dell'intero progetto: la patch sta nel progetto e Composer la riapplica a ogni installazione. Mi è servito più volte per risolvere bug in produzione in attesa del rilascio ufficiale a monte.

Rating
10/10

Dove l'ho usato: