Composer
software
Logo
Logo
GenereSistema di gestione dei pacchetti
Sviluppatore
  • Nils Adermann
  • Jordi Boggiano
Data prima versione1º marzo 2012
Ultima versione2.7.3 (19 aprile 2024)
Sistema operativoMultipiattaforma
LinguaggioPHP
LicenzaLicenza MIT
(licenza libera)
Sito webgetcomposer.org/

Composer è un gestore di pacchetti a livello applicativo per il linguaggio di programmazione PHP, che fornisce un formato standard per la gestione delle dipendenze dei progetti PHP e delle librerie richieste. È stato sviluppato da Nils Adermann e Jordi Boggiano, che continuano a gestire il progetto. Hanno iniziato lo sviluppo nell'aprile 2011 e lo hanno pubblicato il 1º marzo 2012.[1] Composer è fortemente ispirato al npm di Node.js e al bundler di Ruby.[2] L'algoritmo di risoluzione delle dipendenze del progetto era basato inizialmente su di un port PHP del satsolver libzypp di openSUSE.[1]

Composer viene eseguito da riga di comando e si occupa di installare le dipendenze (ad esempio le librerie) dell'applicazione. Consente inoltre agli utenti di installare applicazioni PHP disponibili su "Packagist",[3] il suo repository principale di pacchetti. Fornisce inoltre funzionalità di autoload per le librerie che ne prevedono il supporto, per facilitare l'utilizzo di codice di terze parti.

Sintassi

Comandi

Composer offre diversi parametri tra cui:[4]

Definizione librerie

Esempio di composer.json generato dal seguente comando:

composer require monolog/monolog
{
  "require": {
    "monolog/monolog": "1.2.*"
  }
}

Versioni

Le diverse versioni autorizzate delle librerie sono definite da:[5]

Simbolo Ruolo (posto prima di un numero di versione) Esempio
>= permette di estendere il numero; è possibile usare anche: >, <, <= "php": ">=5.5.9" include PHP 7
!= esclude una versione
- definisce un intervallo di versioni
¦¦ aggiunge possibili versioni "symfony/symfony": "2.8 ¦¦ 3.0" raggruppa solo queste due versioni
* si estende a tutte le sottoversioni "symfony/symfony": "3.1.*" include 3.1.1
~ si estende alle versioni successive dello stesso livello "doctrine/orm": "~2.5" comprende anche il 2.6, ma né il 2.4, né il 3.0
^ uguale alla tilde, solo se è prevista una retrocompatibilità

Framework supportati

Note

  1. ^ a b (EN) Release software, su GitHub. URL consultato il 27 novembre 2020. Modifica su Wikidata
  2. ^ (EN) Getting Started/Dependency management, su getcomposer.org. URL consultato il 27 novembre 2020.
  3. ^ (EN) Packagist, su packagist.org. URL consultato il 27 novembre 2020.
  4. ^ (EN) Command-line interface / Commands, su getcomposer.org. URL consultato il 28 novembre 2020.
  5. ^ (EN) Versions and constraints, su getcomposer.org. URL consultato il 28 novembre 2020.

Voci correlate

Altri progetti