Ogni progetto sufficientemente articolato sfrutta funzionalità messe a disposizione da altre librerie. Queste dovrebbero essere scaricate ed integrate nella nostra piattaforma in maniera corretta e rispettando le dipendenze che esse, a loro volta, richiedono. Quando si programma su framework complessi, la preparazione dell’ambiente può essere un’operazione delicata e molto noiosa, in grado di far perdere tempo molto prezioso. Per questo, in ogni tecnologia, esistono software appositi in grado di gestire le dipendenze al posto nostro a patto di ricevere opportuni comandi ben fatti.
Nel mondo PHP, si è affermato Composer. Lo possiamo installare su una macchina in cui è disponibile già l’interprete php con il comando seguente:
curl -sS https://getcomposer.org/installer | php
Da questo momento, Composer sarà eseguibile tramite un archivio phar, formato con cui si impacchettano file scritti in PHP:
php composer.phar
L’elenco dei pacchetti scaricabili con Composer è disponibile alla consultazione sul sito Packagist.org con tanto di documentazione ed esempi pratici.
Immaginiamo di voler installare una libreria a nostra scelta da Packagist, scegliamo, ad esempio, webmozart/json, utile per codifica e decodifica di dati in JSON. Lo chiediamo a Composer da riga di comando:
php composer.phar require webmozart/json
Al termine dello scaricamento troveremo il file di configurazione creato da Composer, composer.json:
{ "require": { "webmozart/json": "^1.2" } }
in cui 1.2 è l’ultima versione base disponibile.
Troveremo ora anche una cartella denominata vendor all’interno della quale ci saranno le librerie ottenute nonchè il file autoload.php la cui inclusione in uno script PHP mette, già da solo, a disposizione tutto il materiale scaricato inserendo all’inizio del nostro script:
require 'vendor/autoload.php';
Man mano che si fa conoscenza di framework PHP, anche di dimensioni rilevanti, si scopre quanto Composer sia utile per preparare ambienti con pochi comandi, configurati bene. Sicuramente, lo vedremo ancora all’opera nei futuri post di questo sito.
Continuate a seguirci!
No Responses to “Composer: gestione delle dipendenze in PHP”