Composer是PHP的依赖管理工具,通过composer.json定义项目依赖;Packagist.org是其默认公共仓库,提供包的索引与元信息,Composer根据这些信息从源代码仓库下载包并安装到vendor目录,同时生成自动加载文件。两者协作实现PHP项目的自动化依赖管理,且Composer支持配置私有仓库以替代Packagist。

Packagist.org 是 Composer 的默认包仓库,两者是紧密配合的工具,共同服务于 PHP 的依赖管理。
Composer 是什么?
Composer 是 PHP 的一个依赖管理工具,它允许你在项目中声明所依赖的第三方库,并自动处理这些库的下载、安装和自动加载。你通过一个 composer.json 文件来定义项目所需的包及其版本。
Packagist.org 是什么?
Packagist.org 是 Composer 的官方公共仓库(package repository),你可以把它理解为“PHP 包的索引中心”。大多数开源的 Composer 包都注册在这里。当你运行 composer require vendor/package 时,Composer 默认会去 Packagist 查找这个包的信息和下载地址。
它们如何协作?
当你在项目中使用 Composer 安装一个包:
- Composer 首先查询 Packagist.org 获取该包的元信息(比如可用版本、源码地址)
- Packagist 并不直接存储代码,而是记录包的 Git/SVN 地址(如 GitHub)
- Composer 根据这些信息从源代码仓库拉取对应版本的代码并安装到 vendor/ 目录
- 同时生成自动加载文件,让你可以在 PHP 中直接使用这些库
自定义仓库也能用
虽然 Packagist 是默认源,但 Composer 也支持配置私有或第三方仓库。你可以在 composer.json 中添加 repositories 字段指向内部 Nexus、Satis 服务或其他兼容的包服务器,绕过 Packagist。
基本上就这些:Packagist 是 Composer 找包的地方,而 Composer 是实际干活的工具。两者分工明确,共同构成了现代 PHP 开发生态的基础。










