是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
composer官网
Packagist 是主要的Composer仓库。它集合了与Composer一起安装的公开 PHP 软件包。
packagist packagist中文网
packagist搜索软件包 *利用composer下载guzzle库 #此过程很慢会经历几分钟 [jianghaiqiangdeMacBook-Air:composer qiang$ composer require guzzlehttp/guzzle Using version ^6.3 for guzzlehttp/guzzle ./composer.json has been created Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 5 installs, 0 updates, 0 removals - Installing guzzlehttp/promises (v1.3.1): Downloading (100%) - Installing ralouphie/getallheaders (2.0.5): Downloading (100%) - Installing psr/http-message (1.0.1): Downloading (100%) - Installing guzzlehttp/psr7 (1.5.2): Downloading (100%) - Installing guzzlehttp/guzzle (6.3.3): Downloading (100%) guzzlehttp/guzzle suggests installing psr/log (Required for using the Log middleware) Writing lock file Generating autoload files #composer生成目录及文件 [jianghaiqiangdeMacBook-Air:composer qiang$ ls composer.json composer.lock vendor #查看composer.json [jianghaiqiangdeMacBook-Air:composer qiang$ cat composer.json { "require": { "guzzlehttp/guzzle": "^6.3" } } #查看vendor目录 [jianghaiqiangdeMacBook-Air:composer qiang$ ls ./vendor/ autoload.php composer guzzlehttp psr ralouphie在你的入口require ./vendor/autoload.php文件即可,引入autoload.php后,vendor目录下的所有类都会依据psr-4自动加载,在我们自己的应用中可以直接使用。如:
[jianghaiqiangdeMacBook-Air:composer qiang$ vim index.php <?php require __DIR__.'/vendor/autoload.php'; #即可直接使用所有vendor目录下的所有类