首先初始化项目并配置composer.json,选择PSR-4自动加载,设置命名空间如MyCompany\Utils并指向src/目录;接着创建src/存放类文件、tests/存放测试用例,编写符合命名空间的PHP类;然后安装phpunit等开发依赖,运行composer install生成自动加载文件;最后完善composer.json中的类型、许可证、关键字和支持信息,确保代码结构清晰、可复用。

使用 Composer 创建一个标准的 PHP 类库项目结构非常简单,关键是遵循现代 PHP 社区的通用规范,比如 PSR-4 自动加载标准和合理的目录布局。以下是具体步骤。
初始化项目并创建基础结构
打开终端,进入你的项目目录,运行以下命令来初始化 composer.json 文件:
composer init按照提示填写项目信息,如名称、描述、作者、最低稳定版本等。关键一步是设置自动加载机制。在提示 “Would you like to define your own autoload rules?” 时选择 yes,并选择 PSR-4。
输入命名空间前缀,例如:
MyCompany\\Utils
然后指定源码目录,通常为 src/。
完成后,composer.json 中会生成类似如下内容:
立即学习“PHP免费学习笔记(深入)”;
"autoload": { "psr-4": { "MyCompany\\Utils\\": "src/" } }创建标准目录结构
接下来手动创建符合规范的文件夹和文件:
- src/:存放核心类库代码
- tests/:存放单元测试(推荐使用 PHPUnit)
- composer.json:依赖与自动加载配置
- README.md:项目说明
- phpunit.xml.dist(可选):测试配置文件
例如创建一个简单的类:
// src/Calculator.phpnamespace MyCompany\Utils;
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
}
安装依赖并生成自动加载文件
如果你添加了开发依赖,比如 PHPUnit:
composer require --dev phpunit/phpunit然后生成自动加载映射:
composer install之后在项目中就可以通过 vendor/autoload.php 引入自动加载机制:
require_once 'vendor/autoload.php';use MyCompany\Utils\Calculator;
$calc = new Calculator();
echo $calc->add(2, 3); // 输出 5
发布前的建议配置
为了让类库更专业,可以在 composer.json 中补充一些信息:
- "type": "library":表明这是一个类库
- 添加 license(如 MIT)
- 定义 autoload-dev 用于加载测试类
- 加入 keywords 和 support 信息
示例片段:
{ "type": "library", "license": "MIT", "keywords": ["utility", "helper"], "support": { "issues": "https://github.com/yourname/utils/issues" }, "autoload-dev": { "psr-4": { "MyCompany\\Utils\\Tests\\": "tests/" } } }基本上就这些。只要按 PSR-4 组织代码、正确配置 composer.json,并保持 src/ 下的命名空间一致,就能创建一个标准、可复用、易于发布的 PHP 类库。不复杂但容易忽略细节。











