Composer 入门:PHP 依赖管理实战

工具技巧 2026-08-30 10 浏览

写 PHP 不引入现成的库,等于每个轮子都自己造。Composer 就是 PHP 的包管理器,一条命令装好依赖,代码里自动加载,随时能用。

安装 Composer

Windows 直接下载 Composer-Setup.exe 安装;Linux 一条命令:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
mv composer.phar /usr/local/bin/composer
composer --version

国内服务器建议换国内镜像,下载快很多:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

引入第一个依赖

项目目录执行:

composer require guzzlehttp/guzzle

Guzzle 是 HTTP 客户端库,用它发请求比手写 curl 舒服。装完目录里多了 vendor/ 文件夹和两个文件:composer.json(依赖清单)、composer.lock(锁定精确版本)。

使用:autoload 自动加载

在入口文件引入 autoload,之后所有依赖库的类直接用,不用手动 require:

require __DIR__ . "/vendor/autoload.php";

$client = new GuzzleHttpClient();
$resp = $client->get("https://api.github.com/repos/guzzle/guzzle");
echo $resp->getBody()->getContents();

composer.json 的几个常用操作

命令作用
composer require 包名安装依赖并写入 composer.json
composer install按 composer.lock 安装(部署时用)
composer update更新依赖到最新允许版本
composer remove 包名移除依赖

部署到服务器用 composer install --no-dev --optimize-autoloader,不带开发环境依赖,自动加载也更快。

自己项目的类怎么自动加载

在 composer.json 里注册自己的命名空间:

{
    "autoload": {
        "psr-4": {
            "App\": "src/"
        }
    }
}

然后执行 composer dump-autoload。之后 src/User.php 里定义 namespace App;,任何地方 new AppUser() 都能直接用。

Composer 没什么学习曲线,核心就是"装包、用类、记版本"。真正要留意的是别把 vendor 提交进 Git 仓库(加到 .gitignore),部署时在服务器上重新 install 就行。