Composer

programa informàtic

Composer és un gestor de paquets per al llenguatge de programació PHP que proporciona un format estàndard per gestionar les dependències de programari les biblioteques requerides escrits en PHP. Va ser desenvolupat per Nils Adermann i Jordi Boggiano, que continuen gestionant el projecte. Va començar a desenvolupar-se l'abril de 2011 i es va publicar per primera vegada el primer de març de 2012.[1] Composer està molt inspirat en els gestors de dependències npm de Node.js i bundler del llenguatge de programació Ruby.[2] L’algorisme de resolució de dependències de Composer va iniciar-se com una traducció a PHP del libzypp d'OpenSUSE, basat en un algorisme de solució de SAT.[3]

Composer
Modifica el valor a Wikidata

Tipusgestor de paquets a nivell d'aplicació Modifica el valor a Wikidata
Versió inicial1r març 2012 Modifica el valor a Wikidata
Versió estable
2.7.3 (19 abril 2024) Modifica el valor a Wikidata
Llicènciallicència MIT Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiumultiplataforma Modifica el valor a Wikidata
Escrit enPHP Modifica el valor a Wikidata
Més informació
Lloc webgetcomposer.org (anglès) Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata

GitHub: fixxxer87

Composer s'executa des de la línia de comandes i instal·la dependències (p. ex. biblioteques, libraries en anglès) per a una aplicació. També permet als usuaris instal·lar aplicacions de PHP estan disponibles a "Packagist", que és l'arxiu més gros de paquets.[4] També proporciona capacitats d'autoload per a biblioteques que han especificat com s'han d'autocarregar per fer més fàcil l'ús de codi de tercers.

Sintaxi modifica

Composer disposa de diversos paràmetres, entre els quals:[5]

  • require: afegeix la biblioteca al paràmetre require al fitxer composer.json i l'instal·la.
  • install: instal·la totes les biblioteques que hi ha al composer.json. És la comanda que s'utilitza per descarregar totes les dependències de PHP establertes en el fitxer.
  • update: actualitza totes les biblioteques del composer.json, d'acord amb les versions permeses que s'indiquen en el fitxer.
  • remove: desinstal·la una biblioteca i l'elimina del composer.json.

Definició de biblioteques modifica

Exemple de composer.json generat per la comanda següent:

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

Versions modifica

La manera d'indicar quines versions d'una biblioteca estan autoritzades és la següent:[6]

Símbol Rol (ubicat abans d'un número de versió) Exemple
>= permet actualitzar a una versió posterior. A més, es pot fer servir: >, <, <=. "php": ">=5.5.9" inclou PHP 7.
!= exclou una versió.
- defineix interval de versions.
¦¦ afegir possibles versions. "symfony/symfony": "2.8 ¦¦ 3.0" permet només aquestes dues versions.
* s'estén a totes les subversions. "symfony/symfony": "3.1.*" inclou el 3.1.1.
~ s'estén a les següents versions del mateix nivell. "doctrine/orm": "~2.5" també es refereix al 2.6, però ni al 2.4 ni al 3.0.
^ igual que l'anterior, només si hi ha una retrocompatibilitat.

Frameworks que el fan servir modifica

  • Symfony versió 2 i posteriors
  • Laravel versió 4 i posteriors
  • CodeIgniter versió 3.0 i posterior
  • CakePHP versió 3.0 i posterior
  • FuelPHP versió 2.0 i posterior
  • Drupal versió 8 i posterior
  • TYPO3 versió 6.2 i posteriors
  • SilverStripe versió 3.0 posterior
  • Magento versió 2.0 posterior
  • Yii versió 1.1 i posterior
  • Zend Framework versió 1 i posteriors
  • Silex
  • Lumen

Referències modifica

  1. Software release, github.com, Retrieved April 24, 2016.
  2. Getting Started/Dependency management, getcomposer.org, Retrieved November 28, 2013.
  3. «composer/composer», Jun 23, 2020. [Consulta: Jun 24, 2020].
  4. Vegeu packagist.org
  5. «Command-line interface / Commands». getcomposer.org.
  6. «Versions and constraints - Composer». getcomposer.org.