«

PHP Composer 入门:依赖管理完全指南

时间:2026-10-4 10:20     作者:emer     分类: 无


前言

Composer 是 PHP 的依赖管理工具,就像 Node 的 npm、Python 的 pip。现在写 PHP 项目,不会 Composer 根本没法干活。本文讲清楚 Composer 的核心用法。

一、安装 Composer

Linux / Mac

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

Windows

去官网下载安装包,一路下一步就行。

验证安装

composer -V

二、初始化项目

# 在项目目录下
composer init

会问你几个问题,一路回车就行,然后会生成 composer.json 文件。

composer.json 长什么样

{
    "name": "yourname/project",
    "description": "项目描述",
    "require": {
        "monolog/monolog": "^2.0"
    }
}

三、安装依赖

1. 安装所有依赖

composer install

会根据 composer.lock 文件安装指定版本的依赖。

2. 添加新依赖

composer require monolog/monolog

会自动加到 composer.json 里,然后安装。

3. 安装指定版本

composer require monolog/monolog:^2.0

版本号说明

四、自动加载

Composer 最爽的就是自动加载,不用自己写 require。

引入自动加载

<?php
require 'vendor/autoload.php';

// 直接用类,不用 require
$log = new Monolog\Logger('name');

PSR-4 自动加载

在 composer.json 里配置:

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

然后执行:

composer dump-autoload

这样 App\User 类就会从 src/User.php 加载。

五、常用命令

命令 作用
composer install 安装所有依赖
composer update 更新所有依赖
composer require 包名 添加依赖
composer remove 包名 删除依赖
composer dump-autoload 重新生成自动加载
composer show 查看已安装的包
composer self-update 更新 Composer 本身

六、开发环境依赖

有些包只在开发时用,比如测试工具:

composer require --dev phpunit/phpunit

线上部署的时候,不安装开发依赖:

composer install --no-dev

七、中国镜像

国外源太慢,换中国镜像:

# 阿里云镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

# 腾讯云镜像
composer config -g repo.packagist composer https://mirrors.tencent.com/composer/

换完之后速度飞起来。

八、composer.lock 的作用

git add composer.json composer.lock
git commit -m "update composer"

九、常见坑

  1. 没装 composer.lock:团队成员装的版本不一样,出 bug
  2. 自动加载不生效:改了 autoload 配置,忘了 dump-autoload
  3. 版本冲突:两个包依赖同一个库的不同版本
  4. 国内太慢:不换镜像,下载半天

十、最佳实践

  1. composer.json 和 composer.lock 都提交 Git
  2. 线上用 install --no-dev,不要用 update
  3. 用中文镜像,加速下载
  4. 改了自动加载配置,记得 dump-autoload

总结

Composer 的核心要点:

  1. require 添加依赖,install 安装依赖
  2. vendor/autoload.php 是自动加载入口
  3. composer.lock 要提交 Git,保证版本一致
  4. 换国内镜像,速度快很多
  5. 开发依赖用 --dev,线上不装

学会 Composer,PHP 开发效率提升一倍。

标签: PHP Composer 依赖管理 自动加载