Guida completa per Installare e Utilizzare Composer

immagine-logo-composer
Guida completa all’installazione, all’aggiornamento e all’utilizzo di Composer

Guida Completa per Installare e Utilizzare Composer! Installazione, Aggiornamento e Utilizzo di Composer. Volete sapere come fare per installare, aggiornare ed utilizzare Composer ad esempio su Linux, su Ubuntu o su Windows? Bene! Continuate a leggere questo articolo…

Cos’è e a cosa serve Composer?

Composer è uno strumento di gestione delle dipendenze PHP simile a NPM per Node.js e bundle per Ruby. Composer ha rivoluzionato l’utilizzo delle applicazioni in PHP. Utilizzando Composer possiamo definire le librerie richieste per il nostro progetto e installarle con un unico comando. Non dovremo quindi cercare e installare ogni libreria singolarmente. In questo articolo vedremo l’utilizzo di Composer, le sue basi e come fare per installarlo su i sistemi operativi Windows, Ubuntu, Debian, LinuxMint, etc.

Nel mondo PHP (e anche negli altri linguaggi) esistono delle soluzioni già pronte per le operazioni più comuni, le più disponibili gratuitamente come progetti open-source. Quindi ad esempio se si vuole creare delle email professionali con il PHP non avremo bisogno di scrivere tutto il codice da zero; cercheremo invece una libreria PHP mail già fatta come ad esempio PHPMailer e la inseriremo nel nostro progetto. Ed è qui che entra in gioco Composer:  invece che scaricare tutta la libreria manualmente, inserendola dentro una cartella a mano e gestire anche le problematiche di implementazione di essa, con Composer l’avremo già organizzata e pronta all’uso. Tutto ciò di cui ha bisongo Composer, in questo caso, sarà una semplice linea di codice, come questa:

"phpmailer/phpmailer": "5.2.*"

Questa semplice linea di codice inserirà nel vostro progetto l’ultima versione del 5.2.x di PHPMailer – nella maniera più semplice, pulita e aggiornata possibile. Inoltre Composer controllerà che il vostro server abbia le specifiche necessarie e i requisiti per utilizzare PHPMailer 5.2.x; se ad esempio questa versione richiede PHP 5.4 e avete installato PHP 5.3, Composer vi restituirà un avviso. Se non ci sono problemi Composer scaricherà tutte le dipendenze necessarie della libreria specificata. Sarete quindi in grado di utilizzare PHPMailer ovunque nel vostro progetto, senza dovervi preoccupare dei vari vecchi problemi di implementazione del codice. Quando sarà disponibile una nuova versione di PHPMailer potrete aggiornate il tutto senza alcun tipo di bug semplicemente utilizzando una linea di codice tramite linea di comando sul vostro server.

Utilizzo di Composer

Come si utilizza Composer? Una volta installato (vedete sotto per i dettagli di installazione sui vari server) spostatevi nella vostra root e create una cartella per il vostro nuovo progetto. Ad esempio:

/var/www/mioprogetto/

A questo punto create un file vuoto nella cartella mioprogetto chiamato composer.json:

/var/www/myproject/composer.json

Aprite il file composer.json, inserite questo contenuto e salvatelo:

{
    "require": {
        "raveren/kint": "0.9"
    }
}

Fate particolarmente attenzione alla sintassi utilizzata! Come l’estensione del file dice, si tratta di un semplice file JSON. Questo file contiene dei dati strutturati che dicono a Composer cosa deve fare. In questo semplice esempio vogliamo includere lo strumento KINT nel nostro progetto (e nella nostra cartella vuota appena creata). KINT è una versione migliorata di var_dump() o print(). Adesso assicuriamoci di essere nella cartella creata (var/www/mioprogetto ad esempio) e istruiamo Composer per scaricare le librerie dichiarate nel file composer.json:

composer install

Il risultato sarà questo:

composer-installazione

Notate che Composer ha creato una cartella chiamata vendor nel vosro progetto e ha scaricato KINT (e altre cose) al suo interno. Non tocchiamo questa cartella, a questo punto ci pensarà sempre Composer. Adesso creiamo un file index.php nella root del nostro progetto, apriamolo e inseriamo al suo interno questo codice (e salviamo):

<?php

require 'vendor/autoload.php';

Questo caricherà l’autoloader di Composer. Quindi con questa linea includeremo tutto quello che ha scaricato Composer nel nostro progetto.

Diamo un occhiata alla pagina GitHub di KINT per avere un idea di come utilizzare KINT: questo strumento offre una funzione molto semplice di debug chiamata d()! Quindi con la linea di require nel nostro file index.php possiamo adesso utilizzare le cose caricate da Composer in modo diretto, come – in questo caso -:

d($qualsiasi_variabile);

Ottimo! Proviamo adesso con un piccolo esempio. Create un array di test e usate echo via KINT (sempre nel file index.php):

<?php
// carichiamo Composer
require 'vendor/autoload.php';

// creiamo del contenuto di esempio
$variabile = array(1, 17, "ciao", null, array(1, 2, 3));

// usiamo KINT direttamente (caricato in automatico da Composer)
d($variabile);

Apriamo il file con il nostro browser adesso. Il risultato sarà simile a questo (in Italiano):

composer-kint-output

Appare e funziona molto meglio rispetto a var_dump()! Quindi, cos’è che abbiamo appena fatto? Abbiamo inlcuso uno strumento completo esterno in PHP con una sola linea di codice in composer.json (e con una linea di auto-loader nel file index.php). Lo strumento esterno è pronto per essere utilizzato subito! Abbiamo inlcuso KINT in modo semplice e veloce.

Per aggiungere un ulteriore “dependenza” esterna possiamo seplicemente aggiungere un altra line nel file composer.json (tenete in mente la sintassi JSON, specialmente la virgola alla fine della linea!):

{
    "require": {
        "raveren/kint": "0.9",
        "phpmailer/phpmailer": "5.2.*"
    }
}

Questo includerà anche PHPMailer (versione 5.2.x ) al progetto. Per aggiornare il sistema, a questo punto:

composer update

… ovviamente eseguendo il comando qui sopra dalla cartella dov’è composer.json.
Normalmente usando Composer eseguiremo “composer update” o “composer install”, in base alla situazione:

$ composer install

Se esiste composer.lock, installa esattamente ciò che è presente nel file lock.

Oppure legge il file composer.json per trovare ciò che deve essere installato, installa le dependenze e crea il file composer.lock.

 

$ composer update

Installa le dipendenze dal file composer.json e crea o aggiorna il file composer.lock.

Come installare Composer su Unix Debian o su Windows

Per installare composer sui sistemi Debian o Windows dobbiamo semplicemente scaricare l’eseguibile di Composer (link diretto al file .exe) e inserirlo nella cartella bin (o \Windows\System32\bin – che potete creare in Windows). Prima però dobbiamo aggiornate i pacchetti apt-get:

sudo apt-get update

Inoltre dobbiamo assicurarci di avere curl installato. Se non lo abbiamo, installiamo curl e l’estensione php5-curl:

sudo apt-get install curl
sudo apt-get install php5-curl

Assicuriamoci inoltre di avere installato OpenSSL (una libreria che permette a unix di gestire HTTPS) e Git:

sudo apt-get install openssl
sudo apt-get install git

A questo punto riavviamo il server. Questo passaggio non è per forza necessario, ma è sempre bene riavviare (anche perché se non avevamo curl installato il sistema non lo rileverà fino al riavvio):

sudo service apache2 restart

Procediamo adesso con l’installazione di Composer:

$ curl -sS https://getcomposer.org/installer | php

Adesso utilizziamo il seguente comando per rendere Composer disponibile su tuttto il sistema (per tutti gli utenti) e per tutte le applicazioni in PHP:

$ mv composer.phar /usr/local/bin/composer
$ chmod +x /usr/local/bin/composer

Per vedere se Composer è installato correttamente, eseguiamo questa linea di codice:

composer

Per vedere la versione installata di Composer:

# composer -V

Ottenendo questo (o simile):

Composer version 1.0-dev (30e6a63958652e12d01bd3edbc7c7cd7500dde95) 2015-11-17 15:29:08

Come Aggiornare Composer

Aggiornare Composer è semplicissimo. Basta una sola linea di codice:

composer self-update

Bene! Divertitevi con Composer! Vi cambierà il modo di lavorare con PHP per sempre!

 
8 Kudos
Non ti
muovere!

Condividi il Post