
创建一个可以被其他项目引用的 Composer 包,核心是正确配置 composer.json 文件,并将代码组织成可复用的结构。下面一步步说明如何操作。
1. 初始化项目结构
新建一个目录作为你的库项目根目录:
mkdir my-awesome-library cd my-awesome-library
然后运行初始化命令:
composer init
这个命令会引导你填写包名、描述、作者、自动加载方式等信息。
2. 编写核心代码
通常把 PHP 类文件放在 src/ 目录下。例如:
src/ Calculator.php
Calculator.php 示例内容:
3. 配置 composer.json 的自动加载
确保 composer.json 中设置了 PSR-4 自动加载,这样其他项目才能正确引入你的类:
"autoload": { "psr-4": { "MyVendor\\AwesomeLibrary\\": "src/" } }命名空间前缀要和你的代码一致,路径指向 src 目录。
4. 生成自动加载映射
在本地测试时,运行以下命令生成 autoload 文件:
composer install这会创建 vendor/autoload.php,你可以在测试脚本中引入它。
5. 发布到 Packagist
Packagist 是 Composer 的默认包仓库。步骤如下:
- 将代码推送到 GitHub、GitLab 等公共 Git 仓库
- 访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19 并登录
- 点击 “Submit” 提交你的仓库 URL
- Packagist 会抓取 composer.json 信息并索引你的包
6. 其他项目使用你的库
别人就可以通过以下命令安装你的包:
composer require myvendor/awesome-library
然后在代码中使用:
add(2, 3); // 输出 5
7. 版本管理与更新
每次发布新功能或修复 bug,记得打 Git 标签(tag):
git tag v1.0.0 git push origin v1.0.0
Packagist 会自动同步新版本,用户可以通过版本约束来更新依赖。
基本上就这些。只要 composer.json 正确、命名空间清晰、支持自动加载,你的库就能被任何人轻松集成。










