Composer 简介
Composer 是 PHP 的依赖管理工具,类似 Java 里的 maven 或前端的 npm。它在项目根目录通过 composer.json 声明依赖,安装后生成的第三方库统一放在 vendor 目录下。
安装 Composer
Windows
到官网下载 Composer-Setup.exe,安装时选择本机已安装的 PHP 可执行文件(如 php.exe)即可,安装完成后会自动配置环境变量。
验证安装:
composer -V
Linux
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
之后直接用 composer 命令即可。
配置国内镜像
默认源在国外,下载很慢,建议换成国内镜像:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
常用命令
初始化项目
在项目根目录执行:
composer init
按提示填写包名、描述、依赖等信息,生成 composer.json。
安装依赖
composer install
根据 composer.json 安装所有依赖,同时生成 composer.lock 锁定版本。
添加依赖
composer require monolog/monolog
会自动把包写入 composer.json 并下载到 vendor 目录。
更新与移除
composer update
composer remove monolog/monolog
查看已装包
composer show
自动加载
Composer 自带 PSR-4 自动加载,只需在入口文件引入:
<?php
require __DIR__ . '/vendor/autoload.php';
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$log = new Logger('name');
$log->pushHandler(new StreamHandler('app.log', Logger::WARNING));
$log->warning('Foo');
这样所有 vendor 里的类都可以直接 use,不需要手动 require。
composer.json 示例
{
"name": "my/project",
"require": {
"php": ">=7.4",
"monolog/monolog": "^2."
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
修改了 autoload 部分后需要执行:
composer dump-autoload
小结
composer install按composer.lock安装,适合部署环境composer update更新依赖版本,适合开发阶段composer require添加新包最方便- 入口文件务必引入
vendor/autoload.php才能享受自动加载。