Composer (software)
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 software | |
---|---|
Genere | Sistema di gestione dei pacchetti |
Sviluppatore |
|
Data prima versione | 1º marzo 2012 |
Ultima versione | 2.8.3 (17 novembre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | PHP |
Licenza | Licenza MIT (licenza libera) |
Sito web | getcomposer.org/ |
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
modificaComandi
modificaComposer 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
modificaEsempio di composer.json generato dal seguente comando:
composer require monolog/monolog
{
"require": {
"monolog/monolog": "1.2.*"
}
}
Versioni
modificaLe 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- 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- ^ a b (EN) Release software, su GitHub. URL consultato il 27 novembre 2020.
- ^ (EN) Getting Started/Dependency management, su getcomposer.org. URL consultato il 27 novembre 2020.
- ^ (EN) Packagist, su packagist.org. URL consultato il 27 novembre 2020.
- ^ (EN) Command-line interface / Commands, su getcomposer.org. URL consultato il 28 novembre 2020.
- ^ (EN) Versions and constraints, su getcomposer.org. URL consultato il 28 novembre 2020.
Voci correlate
modificaAltri progetti
modifica- Wikimedia Commons contiene immagini o altri file su PHP/Installazione e configurazione
Collegamenti esterni
modifica- (EN) Sito ufficiale, su getcomposer.org.
- Composer, su packages.debian.org.
- (EN) Composer, su GitHub.
- Repository sorgenti di Composer, su github.com.