Skip to content

Composer gestire le dipendenze in PHP

Mircha Emanuel D'Angelo edited this page May 25, 2021 · 1 revision

Composer è un tool che permette di gestire le dipende di un progetto PHP e a mantenere le librerie esterne aggiornate.

Composer è un progetto open source per la gestione delle dipendenze di librerie PHP e per l’autoloading delle classi. È stato sviluppato da Nils Aderman e Jordi Boggiano nel 2012 e da allora è entrato a far parte del bagaglio di conoscenze di tutti i programmatori PHP. L’utilizzo di Composer è diventato uno standard di fatto, tanto che al giorno d’oggi è difficile incontrare un progetto in PHP che non lo utilizzi.

Il funzionamento di Composer è basato sulla presenza di un file di configurazione, denominato composer.json. Questo file viene utilizzato per impostare le dipendenze con le librerie di terze parti da utilizzare nel progetto. Le informazioni vengono inserite nel formato JSON3; di seguito è riportato un esempio:

{
    "require": {
        "twig/twig": "^3.0"
    }
}

require indica quale libreria esterna aggiungere al progetto e con quale versione.

Per l’installazione delle librerie di terze parti, Composer effettua il download dal repository Internet packagist.org. Su questo server sono memorizzate le librerie PHP open source che possono essere installate. Chiunque può registrare gratuitamente una libreria su packagist.org. Packagist è il repository ufficiale del progetto Composer ma è anche possibile utilizzare un’altra sorgente per l’installazione, come ad esempio un repository su github.com.

Installare composer

Usare composer

All'interno della directory del progetto, dal terminale, digitare:

 composer require "twig/twig:^3.0" 

Composer creerà un file composer.json con indicati i requisiti del progetto. Composer effettuerà anche lo scaricamento e l'installazione della libreria nel progetto.

Le librerie verranno scaricate nella directory ./vendor/ e verrà anche creato un file php autoload.php per effettuare l'autoload delle classi.

Il file autoload.php va incluso in ogni file PHP che dovrà utilizzare le librerie installate tramite Composer:

require_once __DIR__ . '/vendor/autoload.php'; //adeguare il percorso

Per saperne di più sull'autoload: https://www.php.net/manual/en/language.oop5.autoload.php

Per saperne di più su composer: https://getcomposer.org/

Clone this wiki locally