Composer (software)
Composer software | |
---|---|
Genere | Sistema di gestione dei pacchetti |
Sviluppatore |
|
Data prima versione | 1º marzo 2012 |
Ultima versione | 2.8.1 (4 ottobre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | PHP |
Licenza | Licenza MIT (licenza libera) |
Sito web | getcomposer.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]- ^ 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
[modifica | modifica wikitesto]Altri progetti
[modifica | modifica wikitesto]- Wikimedia Commons contiene immagini o altri file su PHP/Installazione e configurazione
Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Sito ufficiale, su getcomposer.org.
- Composer, su packages.debian.org.
- (EN) Composer, su GitHub.
- Repository sorgenti di Composer, su github.com.