Composer (软件) 技术专题简介-编程知识网

简介

Composer开发者Nils AdermannJordi Boggiano当前版本2.5.5 (2023年3月21日) 源代码库github.com/composer/composer 编程语言PHP操作系统Cross-platform类型软件包管理系统许可协议MIT许可证网站getcomposer.orgComposer是PHP的软件包管理系统,它提供用于管理PHP软件和依赖库关系的标准格式。 它由Nils Adermann和Jordi Boggiano开发。 他们于2011年4月开始开发,并于2012年3月1日首次发布第一个版本。Composer 的产生是由于受到了 Node.js 的 npm 以及 Ruby 的 bundler 的启发。 该项目的依赖关系解决算法最初是来自openSUSE的libzypp包管理器。

使用语法

命令

Composer 提供了几个参数,包括:

require:向composer.json添加一个依赖库,并且安装它

install:从composer.json安装依赖库,通常在下载一个PHP项目的所有依赖时使用

update:根据composer.json中允许的版本范围更新依赖库

remove:删除一个依赖库,并将其从composer.json中移除

依赖库定义

composer require monolog/monolog

以上命令会在composer.json中生成

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

指定版本

所安装依赖库的版本可以由以下几种运算符定义:

运算符 作用 (放置在版本号前时) 示例

>=允许高于此版本的依赖

以此类推,我们可以使用><<=

"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.5.5. 2023年3月21日 . 

^ Release 1.0.0-alpha1 · composer/composer. GitHub. . (原始内容存档于2019-03-27) (英语). 

^ Introduction – Composer. getcomposer.org. . (原始内容存档于2018-02-12). 

^ Command-line interface / Commands – Composer. getcomposer.org. . (原始内容存档于2020-08-04). 

^ Versions and constraints – Composer. getcomposer.org. . (原始内容存档于2020-09-14).