Composer

Abbiamo visto di cosa tratta il gestore di dipendenze composer e come installarlo. Adesso facciamo un passo successivo vediamo un suo utilizzo pratico in questa versione. Ma prima controlliamo se l’installazione è andata a buon fine. Scrivete su una directory DOS utilizzando magari cmd la seguente

 

composer -V

 

Vi dovrebbe apparire la versione che state utilizzando e l’ora del vostro computer. D’ora in poi quando scriverò console intenderò appunto che siete nel CMD di Windows ex prompot di Dos.

A questo punto bisogna entrare nel vivo.

 

 

Installare librerie con Composer.

Composer

 

Vediamo quindi come fare. Esempio. Vogliamo costruire un sito che spedisca email. O meglio abbiamo bisogno di realizzare un modulo che integri un sito esistente e che abbia questa funzione.  Le alternative sono due. O ci crediamo noi le librerie ex nuovo. Ossia ci mettiamo a perdere inutilmente del tempo. Oppure ci scarichiamo le librerie già pronte all’uso della phpmailer. Oltretutto gratuite opensource. Dimenticavo di dirvi che al momento tutte le librerie a cui accede  Composer nei Repository sono tutte open source. Nel seguito vedremo :).  A questo punto nella cartella dove volete creare il vostro progetto bisognerà fare due cose. O meglio in realtà sarebbe solo una.  Diciamo che io preferisco fare in questa maniera. Poi ognuno farà come riterrà più semplice.

 

Il mio modo di procedere è il seguente faccio il download del file composer.phar che trovate su gitbun download , scorrete la pagina fino a Manual Donwload e prendete l’ultima versione stabile. A questo punto avete due possibilità. Mettete il file composer.phar scaricato in una directory e metteteci il Path  relativo. O lo mettete  dove è presente il vostro php magari se avete easyphp o xamp o una versione autonoma e in questi casi dovreste già avere il path relativo.

. Oppure molto più tradizionalmente come faccio io che lo copio incollo nella cartella dove ci sarà il mio progetto senza dovere fare il Path quindi.

 

A questo punto dovrete creare il vostro file json. Che è semplicemente un file dove esiste una corrispondenza chiave valore. Nel caso di composer la chiave sarà il nome della libreria che vogliamo installare il valore sarà la sua versione che vogliamo installare. Quindi ritornando all’esempio principale e rimettiamoci nella condizioni di volere scrivere del codice per spedire email. Quindi ricorreremo alla libreria  phpmailer la versione sarà la 5.2. Sulla versione ricontrollate perchè è possibile che al momento in cui leggete non sia piu’ disponibile nel repository e dovete metterne un’altra. In ogni modo non preoccupatevi perchè vi segnalerà il problema il programma e i correttivi da adottare del caso.

 

Ora che abbiamo tutte le nozioni del caso . Con il vostro editor preferito. Io in questi casi uso semplicemente Notepad++ scrivete il seguente codice

 

{
 "require": {
 "phpmailer/phpmailer": "~5.2"
 
 }
}

 

e salvatelo come composer.json nella cartella del vostro progetto. Se volete aggiungere altre librerie vi basterà mettere una virgola e aggiungere un’altra coppia chiave valore secondo quanto vi ho già detto. A questo punto da Console scrivete

 

php composer.phar install

Sarà il programma a ricercare nella giusta Repository la libreria da installare. Ma da quale Repository? Se volete saperlo andate nella cartella del vostro progetto e  vedrete che ha creato un file che si chiama

 

composer.lock

 

dentro questo file apribile con il solito Notepad++ troverete tutte le informazioni inerenti alla provenienza del file, versione, descrizione nome etc. etc. sempre in versione json.

 

A questo punto quando scriviamo del codice PHP ci basterà attuare la seguente procedura ossia

 

require __DIR__ . '/vendor/autoload.php';

//da questo momento in poi potrete utilizzare tutte le dipendenze della libreria phpmail nel vostro codice ad esempio
 $mail = new PHPMailer;
 $mail->setFrom('info@esempiomail.com');
 $mail->addAddress('vostronome@indirizzodiposta.com');
 $mail->Subject = 'Email da voi stessi.';
 $mail->Body = Messaggio di prova realizzato con composer!';
 $mail->send();

Ovviamente queste librerie vengono aggiornate di continuo nella prossima lezione vedremo quindi come tenerle sempre aggiornate all’ultima versione.