Composer的基本用法

Composer是基于PHP平台的包依赖管理器,类似于Node平台的NPM。Composer支持Unix/Linux/OSX/Windows等系统,本文以在Windows系统下使用为例,具体安装方法可参考:https://getcomposer.org/doc/00-intro.md
在Windows安装Composer成功后,就可以通过CMD在项目目录下执行各项composer命令。

配置文件及基本命令

composer.json
在项目中开始使用Composer,需要一个composer.json 配置文件,该文件用来描述项目的元信息及引用的包依赖关系,使用require 声明需要安装的包,如下:

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

然后执行 composer install 命令,则require 中声明的包便会默认下载到项目根目录下的vendor 文件夹下,并自动生成 composer.lock 文件。如果此时项目中已有该版本的包,则不会重复安装。

composer.lock
该文件用来约束各个包的版本,保证不同的开发人员在项目中使用的包的版本一致。如果在执行 install 命令时,composer.jsoncomposer.lock 中的包及其版本信息不一致,则Composer会给出警告;如果包及其版本信息均一致,则不会重复安装。
如果要增加新的包或对已有包的版本进行变更,则可以执行 composer update 命令,相当于删除 composer.lock 文件并执行了 install 命令。

单独执行require和update命令
如果只是相对某一具体的包进行安装或更新,也可以直接执行 requireupdate 命令,如下:

composer require monolog/monolog: 1.0.0
composer update monolog/monolog: 1.0.2

由于网络等原因,在执行install命令的过程中,经常会在Updating dependencies (including require-dev)时卡住,可考虑使用Composer中国全量镜像

Autoloading

Composer会自动生成 vendor/autoload.php 文件,实现对类的自动加载,在项目文件中导入该文件,即可实现对Composer安装包类的自动加载,如:

require __DIR__ . '/vendor/autoload.php';

$log = new Monolog\Logger('name');
...

可以在 composer.json 中添加自定义的自动加载信息,如添加命名空间到目录结构的映射:

"autoload": {
       "psr-4": {
           "App\\": "src"
       }
   }

版本符号

* : 最新版
>=1.0: 大于等于1.0的最高版本
>=1.0 <2.0:大于等于1.0且小于2.0的最高版本
1.0 - 2.0:1.0至2.0之间的最高版本
1.0.*:>=1.0且<1.1的最高版本
~1.2:>=1.2且<2.0的最高版本
~1.2.3:>=1.2.3且<1.3.0最高版本
^1.2.3:>=1.2.3且<2.0.0的最高版本

猜你喜欢

转载自blog.csdn.net/hwhsong/article/details/79079197