
想要在PHP项目中复用代码,或者分享功能模块给其他开发者,使用Composer创建自定义包是最标准的方式。下面介绍如何一步步创建一个属于你自己的Composer包。
1. 准备项目结构
新建一个目录作为你的包项目根目录,比如 my-awesome-package。进入该目录后,建议按照PSR-4规范组织代码。
基本目录结构如下:
/my-awesome-package├── src/
│ └── MyAwesomeClass.php
├── tests/
│ └── MyAwesomeClassTest.php
├── composer.json
└── README.md
src/ 目录存放核心类文件。例如:
// src/MyAwesomeClass.phpnamespace MyVendor\Awesome;
class MyAwesomeClass
{
public function sayHello()
{
return "Hello from my custom package!";
}
}
2. 创建composer.json配置文件
在项目根目录运行 composer init,按提示填写信息,或手动创建 composer.json 文件:
{"name": "myvendor/awesome-package",
"description": "A simple custom package for demo",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Your Name",
"email": "you@example.com"
}
],
"require": {
"php": "^7.4 || ^8.0"
},
"autoload": {
"psr-4": {
"MyVendor\\Awesome\\": "src/"
}
},
"minimum-stability": "dev",
"prefer-stable": true
}
关键点说明:
- name:格式为 vendor/package-name,全局唯一
- autoload.psr-4:定义命名空间与目录映射
- minimum-stability:开发阶段可设为 dev
3. 本地测试你的包
在其他项目中测试这个包,可以先使用路径仓库方式引入。
小型企业入门套件(The Small Business Starter Kit)提供了一个商业宣传网站的完整演示,他适合中小型企业。使用他创建的网站支持自定义模板,具有先进的功能,包括:内容和数据管理的SQL和XML数据源整合。该源码包含C#和VB两个版本,只有前台部分源码,微软官方截止到51aspx发布源码时还没有提供后台代码。小型企业网站入门套件的关键页面包括:产品分类显示新闻发布显示商户认证
在目标项目的 composer.json 中添加:
"repositories": [{
"type": "path",
"url": "../my-awesome-package"
}
],
"require": {
"myvendor/awesome-package": "*"
}
然后运行 composer update,即可安装并自动加载你的类。
测试代码:
require_once __DIR__ . '/vendor/autoload.php';use MyVendor\Awesome\MyAwesomeClass;
$obj = new MyAwesomeClass();
echo $obj->sayHello(); // 输出: Hello from my custom package!
4. 发布到Packagist
完成开发和测试后,将包发布到Packagist,让所有人都能通过composer install使用。
- 将代码推送到GitHub/GitLab等公共仓库
- 访问 https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19 并登录
- 点击“Submit”,填入你的Git仓库地址
- 提交后,其他人就可以通过 composer require myvendor/awesome-package 安装
每次更新代码后,记得打Git标签(如 v1.0.0),方便用户按版本安装。
基本上就这些。只要遵循PSR规范、写好composer.json,并发布到Packagist,你的PHP包就能被任何人轻松集成使用。









