Composer (software)

Composer
software
Logo
Logo
GenereSistema di gestione dei pacchetti
Sviluppatore
  • Nils Adermann
  • Jordi Boggiano
Data prima versione1º marzo 2012
Ultima versione2.7.7 (10 giugno 2024)
Sistema operativoMultipiattaforma
LinguaggioPHP
LicenzaLicenza MIT
(licenza libera)
Sito webgetcomposer.org/
Modifica dati su Wikidata · Manuale

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]

  • 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

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

  • 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

  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

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file su PHP/Installazione e configurazione

Collegamenti esterni

  • (EN) Sito ufficiale, su getcomposer.org. Modifica su Wikidata
  • Composer, su packages.debian.org. Modifica su Wikidata
  • (EN) Composer, su GitHub. Modifica su Wikidata
  • Repository sorgenti di Composer, su github.com. Modifica su Wikidata
Risorse
Implementazioni
  • HHVM
  • HPHPc
  • Parrot
  • PeachPie
  • Phalanger
  • Quercus
  • Zend Engine
Web framework
Testing
ORM
IDE
Widget toolkit
  • Categoria Categoria
  • Pagina Commons Commons
  Portale Informatica
  Portale Software libero