Z
ZHANK
进阶技巧

Composer 包管理

composer.json、autoload、PSR-4 规范、常用包推荐

Composer 包管理

Composer 是 PHP 生态的基石——类似 npm(Node.js)和 pip(Python),管理依赖和自动加载。

学完本章你将: 掌握 composer.json、autoload、PSR-4、常用包。


安装与初始化

bash
# 下载 Composer
# Windows: https://getcomposer.org/Composer-Setup.exe
# macOS/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 init

composer.json

json
{
    "name": "my/app",
    "require": {
        "php": ">=8.1",
        "monolog/monolog": "^3.0"
    },
    "require-dev": {
        "phpunit/phpunit": "^10.0"
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    }
}
bash
composer install          # 安装依赖
composer require guzzlehttp/guzzle  # 添加新包
composer update           # 更新所有依赖

PSR-4 自动加载

php
// src/Models/User.php
namespace App\Models;

class User {
    public function __construct(
        public readonly string $name,
    ) { }
}

// 任何地方直接使用——Composer 自动加载
use App\Models\User;
$user = new User("小明");

常用包推荐

用途
`laravel/framework`全栈框架
`symfony/http-foundation`HTTP 请求/响应
`monolog/monolog`日志
`guzzlehttp/guzzle`HTTP 客户端
`phpunit/phpunit`单元测试
`carbon/carbon`日期时间处理