Composer (software): Difference between revisions
Newslinger (talk | contribs) m Use Free and open-source software portal name (via WP:JWB) |
No edit summary |
||
Line 23: | Line 23: | ||
'''Composer''' is an [[application-level package manager]] for the [[PHP]] [[programming language]] that provides a standard format for managing dependencies of PHP software and required [[Library (computing)|libraries]]. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project. They began development in April 2011 and first released it on March 1, 2012.<ref name='ird'>[https://github.com/composer/composer/releases/tag/1.0.0-alpha1 Software release], github.com, Retrieved April 24, 2016.</ref> Composer is strongly inspired by [[Node.js|Node.js's]] "[[Npm (software)|npm]]" and [[Ruby (programming language)|Ruby's]] "[[Bundler (software)|bundler]]".<ref>[https://getcomposer.org/doc/00-intro.md#dependency-management Getting Started/Dependency management], getcomposer.org, Retrieved November 28, 2013.</ref> The project's dependency solving algorithm started out as a PHP-based port of openSUSE's [[ZYpp|libzypp]] satsolver.<ref>[https://github.com/composer/composer#acknowledgments Composer acknowledgements]</ref> |
'''Composer''' is an [[application-level package manager]] for the [[PHP]] [[programming language]] that provides a standard format for managing dependencies of PHP software and required [[Library (computing)|libraries]]. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project. They began development in April 2011 and first released it on March 1, 2012.<ref name='ird'>[https://github.com/composer/composer/releases/tag/1.0.0-alpha1 Software release], github.com, Retrieved April 24, 2016.</ref> Composer is strongly inspired by [[Node.js|Node.js's]] "[[Npm (software)|npm]]" and [[Ruby (programming language)|Ruby's]] "[[Bundler (software)|bundler]]".<ref>[https://getcomposer.org/doc/00-intro.md#dependency-management Getting Started/Dependency management], getcomposer.org, Retrieved November 28, 2013.</ref> The project's dependency solving algorithm started out as a PHP-based port of openSUSE's [[ZYpp|libzypp]] satsolver.<ref>[https://github.com/composer/composer#acknowledgments Composer acknowledgements]</ref> |
||
Composer runs |
Composer runs from the [[command line]] and installs dependencies (e.g. libraries) for an application. It also allows users to install PHP applications that are available on "Packagist"<ref>See [https://packagist.org/ packagist.org]</ref> which is its main repository containing available packages. It also provides [[autoload]] capabilities for libraries that specify autoload information to ease usage of third-party code. |
||
== Syntax == |
== Syntax == |
Revision as of 08:38, 3 March 2019
Developer(s) | Nils Adermann, Jordi Boggiano |
---|---|
Initial release | March 1, 2012[1] |
Stable release | 1.8.0
/ December 3, 2018[2] |
Repository | |
Written in | PHP |
Operating system | Cross-platform |
Type | Package manager |
License | MIT License |
Website | getcomposer |
Composer is an application-level package manager for the PHP programming language that provides a standard format for managing dependencies of PHP software and required libraries. It was developed by Nils Adermann and Jordi Boggiano, who continue to manage the project. They began development in April 2011 and first released it on March 1, 2012.[1] Composer is strongly inspired by Node.js's "npm" and Ruby's "bundler".[3] The project's dependency solving algorithm started out as a PHP-based port of openSUSE's libzypp satsolver.[4]
Composer runs from the command line and installs dependencies (e.g. libraries) for an application. It also allows users to install PHP applications that are available on "Packagist"[5] which is its main repository containing available packages. It also provides autoload capabilities for libraries that specify autoload information to ease usage of third-party code.
Syntax
Commands
Composer offers several parameters including :[6]
require
: add the library in parameter to the file composer.json, and install it.install
: install all libraries from composer.json. It's the command to use to download all PHP repository dependencies.update
: update all libraries from composer.json, according to the allowed versions mentioned into it.remove
: uninstall a library and remove it from composer.json.
Libraries definition
Example of composer.json generated by the following command:
composer require monolog/monolog
{
"require": {
"monolog/monolog": "1.2.*"
}
}
Versions
The different authorized versions of the libraries are defined by:[7]
Symbol | Role (placed before a version number) | Example |
---|---|---|
>= | allows to extend the number. Moreover, we can use: >, <, <=. | "php": ">=5.5.9" includes PHP 7.
|
!= | excludes a version. | |
- | defines a range of versions. | |
¦¦ | add possibles versions. | "symfony/symfony": "2.8 ¦¦ 3.0" regroups only these two versions.
|
* | extends to all subversions. | "symfony/symfony": "3.1.*" includes the 3.1.1.
|
~ | extends to the next versions of the same level. | "doctrine/orm": "~2.5" also concerns the 2.6, but neither the 2.4 nor the 3.0.
|
^ | same as tilde, only if there is a backward compatibility. |
Supported framework
- Symfony version 2 and later
- Laravel version 4 and later
- CodeIgniter version 3.0 and later
- CakePHP version 3.0 and later
- FuelPHP version 2.0 and later
- Drupal version 8 and later
- TYPO3 version 6.2 and later
- SilverStripe version 3.0 later
- Magento version 2.0 later
- Yii version 1.1 and later
- Zend Framework version 1 and later
- Silex (web framework)
- Lumen (web framework)
See also
References
- ^ a b Software release, github.com, Retrieved April 24, 2016.
- ^ Composer download list
- ^ Getting Started/Dependency management, getcomposer.org, Retrieved November 28, 2013.
- ^ Composer acknowledgements
- ^ See packagist.org
- ^ "Command-line interface / Commands". getcomposer.org.
- ^ "Versions and constraints - Composer". getcomposer.org.