Composer是PHP标准依赖管理器,需先下载安装脚本、生成并配置composer.phar,再通过composer init创建composer.json,用require/install/update管理依赖,配置autoload实现自动加载,并用--dev和scripts区分开发依赖与快捷命令。

如果您正在开发PHP网站,但手动管理第三方库版本和依赖关系变得复杂且容易出错,则可能是由于缺乏统一的依赖管理机制。以下是使用Composer管理PHP项目依赖的具体操作步骤:
一、安装Composer工具
Composer是PHP的事实标准依赖管理器,它通过读取项目根目录下的composer.json文件自动下载、安装和更新所需库及其依赖。安装后可在命令行中全局调用composer命令。
1、访问https://www.php.cn/link/594ca739e3609243a6b6a3dd8d871114,下载官方安装脚本composer-setup.php。
2、在终端中执行php composer-setup.php,生成本地composer.phar文件。
立即学习“PHP免费学习笔记(深入)”;
3、将composer.phar移动至系统PATH路径,例如执行sudo mv composer.phar /usr/local/bin/composer(Linux/macOS)或在Windows中配置环境变量并重命名为composer.exe。
4、运行composer --version验证是否安装成功,输出类似Composer version 2.7.7即表示就绪。
二、初始化项目并创建composer.json
composer.json是Composer识别项目依赖关系的核心配置文件,定义了当前项目所需包、版本约束及自动加载规则。初始化该文件是使用Composer的第一步。
1、进入PHP项目根目录,执行composer init启动交互式初始化向导。
2、按提示输入项目名称(如myapp/my-site)、描述、作者信息、最低PHP版本(如^8.1)等元数据。
3、当询问“Package type”时,输入project;当提示“List of authors”时,可直接回车跳过或填写邮箱与名称。
4、在“Define your dependencies”环节输入n暂不添加依赖,完成后确认生成composer.json文件。
三、添加与安装指定依赖包
Composer支持按需安装单个或多个PHP包,并自动解析其传递依赖,将其写入vendor目录及composer.lock锁定文件,确保环境一致性。
1、执行composer require monolog/monolog:^3.0安装Monolog日志库,Composer将自动检测兼容版本并写入composer.json的require字段。
2、执行composer install安装composer.json中声明的所有依赖(适用于已有项目首次部署)。
3、执行composer update升级所有依赖至满足版本约束的最新可用版本,并更新composer.lock。
4、若仅需更新某一包,运行composer update monolog/monolog,其余包版本保持不变。
四、配置自动加载机制
Composer提供PSR-4、PSR-0、classmap和files四种自动加载方式,使PHP脚本能无需手动require即可直接使用已安装的类或函数。
1、在composer.json中添加autoload字段,例如:"autoload": { "psr-4": { "App\\": "src/" } }。
2、修改composer.json后,执行composer dump-autoload重新生成自动加载映射文件vendor/autoload.php。
3、在PHP入口文件(如index.php)顶部添加require __DIR__ . '/vendor/autoload.php';。
4、此后可直接使用new App\Http\Request();等命名空间类,无需额外include语句。
五、管理开发依赖与脚本命令
开发依赖(如PHPUnit、PHP_CodeSniffer)仅在本地开发阶段需要,不应随生产环境部署。Composer允许将此类工具独立声明,并支持自定义命令别名提升效率。
1、执行composer require --dev phpunit/phpunit:^10.5将PHPUnit添加至require-dev字段。
2、在composer.json中scripts字段下定义快捷命令,例如:"scripts": { "test": "phpunit tests/", "cs-check": "phpcs src/" }。
3、运行composer test即可触发phpunit tests/命令,无需记忆完整路径与参数。
4、执行composer install --no-dev在生产环境部署时跳过require-dev中的所有包,显著减小vendor目录体积并提升安全性。











