
Composer come sistema per la gestione dei pacchetti è stato sviluppato nel 2011 e pubblicato nel 2012 da Nils Adermann e Jordi Boggiano da allora ha superato e quasi soppiantato il precedente gestore di pacchetti PEAR .
In questo articolo scopriremo come pubblicare un pacchetto su Composer.
Per iniziare, se non l’hai già fatto, bisogna installare Composer sulla propria macchina nel seguente modo:
Apri il sito Composer scarica e installa il software oppure usando PHP CLI. In quest’ultimo caso devi aprire il terminale e mandare in esecuzione i comandi:
<code>php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'dac665fdc30fdd8ec78b38b9800061b4150413ff2e3b6f88543c636f7cd84f6db9189d43a81e5503cda447da73c7e5b6') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"</code>
Code language: JavaScript (javascript)
Qualunque procedura usi per installare Composer devi essere sicuro che compaia nel PATH ambiente di windows. Quindi apri “modifica variabili di ambiente per l’account” clicca su “Variabili d’ambiente” poi variabili di sistema cerca la variabile “Path” modifica -> nuovo -> sfoglia qui inserisci la cartella dove si trova composer conferma le modifiche che saranno attive dopo il riavvio di Windows.


Cosi come potete vedere dall”immagine precedente il comando “composer init” chiede
- Package Name: il nome del package es.: utente/progetto
- Author: qui chiede il nome e l’email dell’autore
- Description: una descrizione delle funzionalità.
- Minimum Stability: minimum stability può essere
- RC: “Relese candidate” Chiamato anche rilascio di produzione, il rilascio stabile è l’ultimo candidato a rilascio (RC) che ha superato tutte le fasi di verifica e test. Tutti i bug resi noti sono considerati accettabili. Questa release va alla produzione.
- Stable: in generale senza problemi di stabilità o bug evidenti.
- Dev: in fase di sviluppo.
- alpha: una versione alfa o il rilascio di un pacchetto software intende fare qualcosa di particolare, per lo più lo fa, ma non è garantito per farlo completamente.
- beta: Il software di versione beta è spesso utile per dimostrazioni e anteprime all’interno di un’organizzazione e ai potenziali clienti. Alcuni sviluppatori si riferiscono a questa fase come un’anteprima, una versione di anteprima, un prototipo, un’anteprima tecnica o un’anteprima della tecnologia.
- Package Type: qui composer suggerisce library, package, project etc. se indichi il tipo project su packagist nelle indicazioni di installazione ci sarà qualcosa come:
composer create-project utente/progetto
altrimenticomposer require utente/libreria
- License: Tipo di licenza MIT , Apache etc. qui il link per una lista di licenze registrate SPDX Licence List.
Una volta inizializzato il progetto dobbiamo inizializzare Git e pubblicare il codice su Github.


Registrarsi su Packagist e tramite il link Submit indicare il link del progetto su github es.: https://github.com/company/project.git una volta controllato e caricato packagist visualizzerà i vari Branches o Tags per mostrare le varie versioni del pacchetto es.: v1.0.1, v1.1-BETA, v1.1-RC1…

composer validate
: controlla se ci sono errori nella struttura del progetto
versioni in base al branch o al tag “minimum-stability”
le versioni del pacchetto verranno pubblicate in base al ramo, al tag presenti nel repository di Github e in base al campo “minimum-stability” presente nel composer.json
per esempio il ramo 2.0 con “minimum-stability”: “dev”, sarà visualizzato sul sito di packagist come 2.x-dev
Conclusioni
Il gestore dei pacchetti Composer è abbastanza semplice da usare, ma anche in certi casi molto rigido se non indichi l’esatta licenza oppure indichi una minimum-stability non corretta, www.packagist.org carica il progetto ma poi indica gli errori che bisogna correggere, esattamente come fa composer validate
in ogni caso è diventato uno strumento indispensabile per trovare e riusare librerie e progetti im modo facile e veloce.