PHP 教程:Composer 安装与使用入门笔记

· PHP笔记 小技巧 PHP 入门笔记 · 4 阅读 · 约 4 分钟

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 才能享受自动加载。