新建项目目录文件
新建一个PHP项目目录,在目录里面新建composer.json文件并写入以下内容:
{ "require": { "monolog/monolog": "1.0.*" } }
require 是一个包名称(monolog/monolog)映射到包版本(1.0.*)的对象。
包名称包含了供应商和项目名称(供应商名称/项目名称),不同的供应商可以创建相同名称的库(如:lauwen/composer和douz/composer)。
包版本可以进行版本约束,具体约束指定如下(版本号默认只考虑稳定的发行版本,可配置):
名称 |
实例 |
描述 |
确切的版本号 |
1.0.2 |
你可以指定包的确切版本。 |
范围 |
>=1.0 >=1.0,<2.0>=1.0,<1.1|>=1.2 |
通过使用比较操作符可以指定有效的版本范围。 有效的运算符:>、>=、<、<=、!=。 你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号|将作为逻辑OR处理。 AND 的优先级高于 OR。 |
通配符 |
1.0.* |
你可以使用通配符*来指定一种模式。1.0.*与>=1.0,<1.1是等效的。 |
赋值运算符 |
~1.2 |
表示当前指定版本号到下一个重要版本号之间的版本,这对于遵循语义化版本号的项目非常有用。~1.2相当于>=1.2,<2.0。~1.2.3相当于>=1.2.3,<1.3。 |
安装依赖包
运行composer install进行require里面定义的相关依赖包的安装:
可以看到composer在composer.json目录下创建了vendor目录和composer.lock文件,并将monolog/monolog下载到了vendor目录下。
composer.lock文件主要是记录安装时包的确切版本号,用于锁定当前项目引用依赖的特定版本。
autoload.php主要是自动加载已经安装的依赖,在项目中引入这个文件就可以使用已安装的依赖。
使用国内镜像
如果需要使用国内镜像进行包的安装,可以进行以下配置(具体的介绍请看官网:Packagist / Composer 中国全量镜像):
在composer.json中配置镜像源信息,便可使用国内镜像进行安装了: