第一步创建一个composer SDK项目 创建一个 composer.json文件或使用 命令 (如果不清楚怎么弄 直接跳过即可,一般都会默认配置)
composer init
将自己要使用的包添加到 require 中,如果没有require则自己添加 (composer文件中必须用双引号不能使用单引号) 必须引入PHP包 版本看项目的使用环境而定 执行composer update 命令更新composer包
也可以使用 composer 命令添加 示例:
composer require guzzlehttp/guzzle:^6.0
{
"name": "test/sdk", #包的名称
"description": "这是测试sdk", #SDK的详情介绍
"type": "library", #包的类型
"authors": [ #作者消息
{
"name": "xxxxxx",
"email": "[email protected]"
}
],
"require": { #需要引入的包
"php": ">=7.2", #PHP 大于等于7.2的版本 必须引入PHP包
"guzzlehttp/guzzle": "~6.0"
},
"autoload": { # 自动加载的配置
"psr-4": { #代码规范 PSR-4 是 PHP 命名空间和类文件的标准
# 设置命名空间 名称 src/ 则是当前命名空间 Test\Sdk\ 指定的 文件地址
"Test\Sdk\": "src/php"
}
},
}
第二步在 src文件下面创建一个PHP类 示例 :(命名空间必须是 composer 中配置的 autoload 下的 psr-4 中配置 命名空间)
data['sdk_version'] = $version;
return $this;
}
public function setSdkType($type){
$this->data['sdk_type'] = $type;
return $this;
}
public function getData()
{
return $this->data;
}
}
第三步 在项目根目录中 创建一个php 文件用来测试是否 可以执行 创建一个testSdk.php 文件
setSdkType('php') # 设置 sdk 类型
->setSdkVersion('1.0.0') # 设置 sdk 版本
->getData(); # 获取 设置的数据
var_dump($data);
点击运行脚本
第四步 将包上传到远程仓库
将修改的文件 提交到本地仓库 然后 推送分支到 远程仓库
点击推送即可
创建合并 并 合并分支
接下来回到 本地 使用 phpstrom 切换本地 分支到默认分支 并 本地默认分支 pull 同步一下远程分支
切换分支
拉取默认分支 内容
接下来给 当前包 打标签 git命令是 git tag 标签名称
phpstrom则是在界面左下角选择 git -》选择日志 -》选择提交记录 右键 选择 add tag 中文则是 新建标记
接下来将 标签 提交到远程仓库
点击推送即可
我们来到远程仓库
标签已经创建成功
接下来重点来了 我们如何将 我们自己创建的包使用到自己的项目中
打开一个新的项目 我们创建一个composer.json 文件
在composer 文件中 加入 require 和 repositories 数据 执行composer update 执行更新即可
{
"require": {
"test/sdk": "1.0.*"
},
# 引入仓库composer 包
"repositories": [
# 包的列表
{
#包的类型 因为是git 仓库所以是 git
"type": "git",
# git shh 仓库地址
"url": "[email protected]:xxxxx/xxx/test_sdk.git"
}
]
}
(如果没有配置git 环境变量 项目 否则无法使用 composer update 报错)
接下来我们创建一个PHP文件 实例化执行一下 试试看能否执行