Composer è un tool per la gestione delle dipendenze nei progetti PHP. Composer semplifica il lavoro dello sviluppatore rendendo facile l’utilizzo di librerie di terze parti e potendo scegliere microlibrerie, focalizzate su un unico aspetto (fare una sola cosa e farla bene), a scapito di macrolibrerie che si occupano di fare tutto. Inoltre installa automaticamente le dipendenze delle librerie che dobbiamo usare, liberandoci da questo peso, ma non solo Composer si occupa anche degli aggiornamenti che possono essere eseguiti tramite semplicissimi comandi.
Uno dei punti di forza di Composer è quello di essere multipiattaforma, si può installare su qualsiasi Sistema Operativo (Windows, macOS/Os e Linux). Esistono due possibilità di installazione:
php installer
);Per accertarvi dell’avvenuta installazione digitate nella stessa directory il comando:
php composer.phar -V |
Se l’installazione è andata a buon fine uscirà una scritta del tipo: Composer version #version
Per eseguire l’installazione globale, a questo punto è sufficiente un ulteriore comando per spostare l’eseguibile all’interno del PATH
di default del sistema:
mv composer.phar /usr/local/bin/composer
Per i sistemi Windows l’installazione automatica è ancora più semplice:
L’elemento fondamentale di cui Composer ha bisogno per poter gestire le dipendenze è un file chiamato composer.json. Per creare questo file basterà posizionarsi all’interno del progetto nello specifico nella root principale e digitare il seguente comando:
$ composer init
Successivamente vi verrà fatta qualche domanda come la descrizione del progetto, l’autore ma anche se ci sono librerie da installare alla creazione del progetto (ovviamente se ci sono bisogna inserire yes altrimenti no).
Package name (<vendor>/<name>): vendor/name
Description []: // optional
Author: AParzi <aparzi@devblog.com>
Minimum Stability []: // leave empty if not specified
License []: // leave empty if not specified
Would you like to define your dependencies (require) interactively [yes]? no
Would you like to define your dev dependencies (require-dev) interactively [yes]? no
Do you confirm generation [yes]? yes
A questo punto il file composer.json è stato creato e dovrebbe avere questa forma:
{ "name": "root/composer-example", "authors": [ { "name": "AParzi", "email": "aparzi@devblog.com" } ], "require": {} }
Se, ad esempio, vogliamo installare Slim (un framework PHP per creare servizi Rest) all’interno del nostro progetto, basta digitare: composer require slim/slim "^3.0"
e il file composer.json avrà il seguente contenuto:
{ "require": { "slim/slim": "^3.0" } }
I package disponibili per Composer sono reperibili sul sito Packagist.org, tutte le dipendenze Composer le installa in una cartella chiamata vendor che viene creata in maniera automatica alla prima dipendenza installata.
Guida chiara è semplice come sempre! Complimenti Angelo e grazie mille per il tuo impegno continua così 😁 un suggerimento per i futuri articoli: qualcosa su node.js, Ajax, ntml/CSS, REST API