Composer (software)

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
Composer
software
Logo
GenereSistema di gestione dei pacchetti
Sviluppatore
  • Nils Adermann
  • Jordi Boggiano
Data prima versione1º marzo 2012
Ultima versione2.1.3 (9 giugno 2021)
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[modifica | modifica wikitesto]

Comandi[modifica | modifica wikitesto]

Composer offre diversi parametri tra cui:[4]

  • require: aggiunge la libreria specificata nel parametro al file composer.json e la installa;
  • install: installa tutte le librerie elencate dal composer.json; è il comando da utilizzare per scaricare tutte le dipendenze da repository PHP;
  • update: aggiorna tutte le librerie elencate dal composer.json, in base alle versioni consentite menzionate in esso;
  • remove: disinstalla una libreria e la rimuove dal composer.json.

Definizione librerie[modifica | modifica wikitesto]

Esempio di composer.json generato dal seguente comando:

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

Versioni[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

  • Symfony versione 2 e successive
  • Laravel versione 4 e successive
  • CodeIgniter versione 3.0 e successive
  • CakePHP versione 3.0 e successive
  • FuelPHP versione 2.0 e successive
  • Drupal versione 8 e successive
  • TYPO3 versione 6.2 e successive
  • SilverStripe versione 3.0 successive
  • Magento versione 2.0 successive
  • Yii versione 1.1 e successive
  • Zend Framework versione 1 e successive
  • Silex
  • Lumen

Note[modifica | modifica wikitesto]

  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[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]