php 制作package满足公司的解耦业务
程序员文章站
2022-05-29 10:13:43
...
参考文档
- 介绍版本约束
http://overtrue.me/articles/2017/08/about-composer-version-constraint.html
- 介绍composer
https://docs.phpcomposer.com/04-schema.html#autoload
场景:
另一个项目组需要我们支撑一个功能,并且这个功能也可能在其他的项目组中用到,
这个任务刚好落到了我的手上,这种问题为乐解耦和,一般采用两种解决方案
1. API
2. package
考虑到工作效率的问题(不用框架),我采用了第二种
package的简易制作
1. 封装
1.1 package 主体分为三部分
. src/
. composer.json
. test 单元测试使用
composer.json
{
"name": "gray_score/level", // `包的名字`
"description": "包的介绍", //`包的描述`
"license": "MIT", // `协议` 闭源软件
"minimum-stability": "stable", // 下载稳定版 "gray_score/level": "dev-master" 代表该分支下的最新提交 合起来就是最新稳定版
"authors": [ // 作者
{
"name": "carson",
"email": "[email protected]"
}
],
"autoload": { //自动加载映射 `eg:gray\level namespace 映射到 src目录下面`
"psr-4": {
"gray\\level\\": "src/",
"gray\\test\\": "test/"
}
}
}
然后src里面完成逻辑的处理 ...
到目前为止 一个简单包的工作已经完成了
2. 上传github
和普通上传没什么区别
3. 上传到packagist
. 前提当然是已经注册账户
. 点击Submit 按钮
填写刚才上传github获取到的地址
`check` `check` `check`
. 如果包的名字没有被占用 恭喜你你成功的船建了一个包
4. 自动同步
现在还没有结束,包和github还不能实时同步
1. github 资源setting,点击Integrations & services 按钮
2. 填写packagist 上面的username and token 点击确定 完工
上一篇: maven常用打包配置
下一篇: Golang教程7节