PHP Composer 简介与使用指南
Composer是PHP的依赖管理工具,它允许你声明项目所依赖的库,并为你安装和管理它们。
如果你用过 Node.js,它类似于 npm;如果是 Python,它类似于 pip。在 Composer 出现之前,PHP 开发者需要手动下载源代码、处理类库之间的嵌套依赖,过程极其痛苦。
php package regository
1. 核心概念
- 依赖管理:你只需要在配置文件中写上“我需要这个包”,Composer 会自动下载该包及其所需的所有其他包。
- Packagist:这是 Composer 的官方中央仓库(packagist.org),你可以在这里找到成千上万的开源 PHP 插件。
- **自动加载 (Autoload)**:Composer 会生成一个安装脚本,让你通过一行代码就引入项目中所有的依赖库。
2. 安装 Composer
A Dependency Manager for PHP
1 | composer --version |
如果未安装,可以前往 getcomposer.org 下载对应系统的安装包。
在中国大陆使用时,建议配置 阿里云 或 华为云 的镜像源,否则下载速度可能会非常慢:
composer config -g repo.packagist php https://mirrors.aliyun.com/composer/
3. 基本使用流程
第一步:初始化项目
在你的项目根目录下运行:
1 | composer init |
这会引导你创建一个 composer.json 文件,它是项目的“购物清单”。
第二步:添加依赖
假设你需要安装一个处理时间的库 carbon:
1 | composer require nesbot/carbon |
执行后,你会发现多了两个东西:
vendor/目录:所有的源代码都在这里。composer.lock:锁定当前安装的具体版本,确保团队其他人的环境和你完全一致。
第三步:在代码中使用
这是最爽的一步。你不需要写几十个 require,只需要在入口文件引入:
1 |
|
4. 常用命令速查表
| 命令 | 用途 |
|---|---|
composer install |
根据 composer.lock 安装依赖(部署项目时用) |
composer update |
检查并升级所有依赖包到最新版本 |
composer require <package> |
添加并安装一个新的库 |
composer remove <package> |
卸载一个库 |
composer dump-autoload |
强制更新自动加载文件(当你新增了类文件时) |
5. 进阶提示:composer.json vs composer.lock
composer.json:描述了项目能够兼容的版本范围(例如^2.0表示 2.x 系列)。你应该将它提交到 Git。composer.lock:记录了当前确切安装的版本号(例如2.4.1)。务必将其提交到 Git,这样能保证生产环境和开发环境的代码完全一致。
在生产环境部署代码时,永远运行
composer install而不是composer update,以防止意外升级导致系统崩溃。