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` | 日期时间处理 |