Seguici su Telegram, ne vale la pena ❤️ ➡ @trovalost
Vai al contenuto

Composer ti aiuta a gestire le dipendenze PHP del tuo progetto: vediamo come

Non ha ancora votato nessuno.

Nell’immagine, non a caso, ho riportato la foto di un’orchestra musicale perchè, di fatto, Composer assume un po’ il ruolo del “direttore d’orchestra” del nostro codice. Chiunque sappia programmare un minimo sa bene che raramente il codice che produciamo è mono-blocco: quasi sempre intervengono almeno delle include/require, senza contare l’inclusione di vere e proprie librerie, all’occorrenza, che stabiliscono delle dipendenze nel software senza il quale, piaccia o meno, i nostri servizi non potrebbero mai funzionare. Quando le librerie da importare sono tante, le cose tendono a complicarsi e può diventare difficile, se non impossibile, gestire il tutto a mano.

Gestire manualmente le dipendenze rischia di diventare complesso quando i software iniziano a diventare più completi (e quindi più “esigenti”): per gestirli in modo automatico Composer potrebbe rivelarsi la soluzione free e open source tra le migliori in assoluto.

Capire a cosa serve Composer (senza sbattersi)

Devo dire che l’impatto con Composer e la sua pagina web non è probabilmente dei migliori, e molti tendono a scoraggiarsi e a lasciare perdere fin dall’inizio: in pratica serve a coadiuvare i vostri progetti PHP mediante un semplice file di testo in formato JSON, che conterrà  le istruzioni necessarie all’installazione delle dipendenze che vi servono.

Se siete frequentatori di GitHub e ci fate caso, vi sarà  certamente capitato di sentire nominare Composer come alternativa alla classica installazione: la schermata seguente fa riferimento, ad esempio, al tool di debug espanso kint, per il quale è possibile operare una banale include nel file oppure ricorrere a Composer.

Ecco un esempio tratto dalla pagina in questione:

Schermata 2016-03-16 alle 14.40.15

Un esempio certo molto elementare, ma altrettanto chiaro, delle potenzialità  del Composer: in genere ad ogni riga innestata nel file JSON corrisponde una nuova libreria, cosଠcome viene identificata e inclusa automaticamente dallo stesso. Se ci fossero incompatibilità  o warning sulla versione di PHP che state usando, Composer vi potrà  avvisare in automatico, e questo è molto comodo in fase di sviluppo per non avere problemi in seguito al trasferimento sul server di produzione, ad esempio.

Il formato generale di un file composer.json (che va messo nella root della webapp o del sito, cioè nella sua cartella principale, quella che contiene tutte le altre ed i vari file) è il seguente:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

Ad ogni riga del file corrisponderà  una libreria, accompagnata dalla sua versione; per codificare le nostre scelte possiamo cercare quello che vogliamo su packagist.org e ricopiare la stringa di conseguenza.

Per esempio:

  • PHPmailer: “phpmailer/phpmailer”: “~5.2”
  • PDFMerge. “jurosh/pdf-merge”: “dev-master”

Come si installa Composer

Contrariamente ad altre soluzioni open non esiste un vero e proprio pacchetto di installazione (tranne per Windows, per cui c’è un comodo eseguibile): si può, invece, sfruttare il terminale a linea di comando di Mac, Windows o Linux, ed installarlo come indicato. Le istruzioni sono riportate sulla pagina ufficiale, la procedura non dovrebbe darvi particolari problemi per cui non perdo altro tempo a rispiegarle e passo subito all’azione: basta copiare ed incollare il set di istruzioni nel terminale.

Di seguito riporto un piccolo esempio di uso di Composer, per mostrare che non è nulla di davvero difficile e che, anzi, una volta “ingranato” velocizza notevolmente lo sviluppo.

Partiamo dalla cartella che contiene i nostri file, ad esempio mioprogetto:

/var/www/mioprogetto/

andiamo a creare in essa un semplice file di testo, che chiameremo composer.json come già  accennato. Poniamo di voler installare ad esempio PHPMailer (il famoso client PHP), per cui scriveremo qualcosa del genere dentro al file:

{
    "require": {
        "phpmailer/phpmailer": "5.2.*"
    }
}

a questo punto possiamo salvare e passare, sempre da terminale e spostandoci in /var/www/mioprogetto/, alla fase di uso di Composer scrivendo:

composer install

Cosa fa questo comando è presto detto: controlla che il file .json sia corretto (attenzione alla presenza della “require” obbligatoria), e genera di conseguenza una cartella vendor nella quale saranno presenti i file delle dipendenze. A questo punto sarà  sufficente includere dal file principale PHP un semplice:

require 'vendor/autoload.php';

e saranno incluse in automatico tutte le dipendenze richieste dal file JSON.

Le volte successive, per includere le dipendenze nuove e salvare le vecchie andremo a sfruttare l’update:

composer update

Per rilevare eventuali conflitti si usa:

composer diagnose

Composer, di fondo, è questo: ovviamente non ho proposto esempi troppo complessi ma le possibilità  sono certamente tantissime, e cambiano a seconda dei casi considerati.

👇 Da non perdere 👇



Questo sito web esiste da 4459 giorni (12 anni), e contiene ad oggi 6260 articoli (circa 5.008.000 parole in tutto) e 13 servizi online gratuiti. – Leggi un altro articolo a caso

Ti sembra utile o interessante? Vota e fammelo sapere.

Questo sito contribuisce alla audience di sè stesso.
Il nostro network informativo: Lipercubo.it - Pagare.online - Trovalost.it.