Composer (软件)
PHP的軟體套件管理系統
此条目需要扩充。 (2015年2月24日) |
Composer是PHP的软件包管理系统,它提供用于管理PHP软件和依赖库关系的标准格式,它在单个项目的基础上进行管理,会在单个项目的某个目录(默认是vendor)进行安装。 它由Nils Adermann和Jordi Boggiano开发。 他们于2011年4月开始开发,并于2012年3月1日首次发布第一个版本。[2]Composer 的产生是由于受到了 Node.js 的 npm 以及 Ruby 的 bundler 的启发。[3] 该项目的依赖关系解决算法最初是来自openSUSE的libzypp包管理器。
开发者 | Nils Adermann Jordi Boggiano |
---|---|
当前版本 |
|
原始码库 | |
编程语言 | PHP |
操作系统 | Cross-platform |
类型 | 软件包管理系统 |
许可协议 | MIT许可证 |
网站 | getcomposer |
在中国使用composer的时候,由于网络延迟以及防火长城问题,通常会通过镜像使用,数据的获取,文件的下载通过镜像使用。
使用语法
命令
Composer 提供了几个参数,包括[4]:
require
:向composer.json添加一个依赖库,并且安装它install
:从composer.json安装依赖库,通常在下载一个PHP项目的所有依赖时使用update
:根据composer.json中允许的版本范围更新依赖库remove
:删除一个依赖库,并将其从composer.json中移除self-update
:更新compsoer自身
依赖库定义
composer require monolog/monolog
以上命令会在composer.json中生成
{
"require": {
"monolog/monolog": "1.2.*"
}
}
指定版本
所安装依赖库的版本可以由以下几种运算符定义:[5]
运算符 | 作用 (放置在版本号前时) | 示例 |
---|---|---|
>=
|
允许高于此版本的依赖
以此类推,我们可以使用 |
"php": ">=5.5.9" 包括 PHP 7
|
!=
|
排除一个版本的依赖 | |
-
|
定义一个依赖的范围 | |
||
|
或运算符,寻找二者中存在的版本 | "symfony/symfony": "2.8 ¦¦ 3.0" 将查找该依赖的2.8或3.0版本
|
*
|
万用字元,允许一切符合要求的子版本 | "symfony/symfony": "3.1.*" 包括 3.1.1 版本
|
~
|
允许同级别的下一个版本 | "doctrine/orm": "~2.5" 包括 2.6,但是不包括 2.4 或 3.0.
|
^
|
类似于~ ,但是只允许向后兼容的版本
|
支持的框架
- Symfony ≥ 2
- Laravel ≥ 4
- CodeIgniter ≥ 3.0
- CakePHP ≥ 3.0
- FuelPHP ≥ 2.0
- Drupal ≥ 8
- TYPO3 ≥ 6.2
- SilverStripe ≥ 3.0
- Magento ≥ 2.0
- Yii ≥ 1.1
- Zend Framework ≥ 1
- Silex
- Lumen
注解
- ^ Release 2.8.3. 2024年11月17日 [2024年11月21日].
- ^ Release 1.0.0-alpha1 · composer/composer. GitHub. [2020-08-06]. (原始内容存档于2019-03-27) (英语).
- ^ Introduction - Composer. getcomposer.org. [2020-08-06]. (原始内容存档于2018-02-12).
- ^ Command-line interface / Commands - Composer. getcomposer.org. [2020-08-06]. (原始内容存档于2020-08-04).
- ^ Versions and constraints - Composer. getcomposer.org. [2020-08-06]. (原始内容存档于2020-09-14).