• PHP 如何创建一个 composer 包 并在 项目中使用自己的 composer sdk 包


    第一步创建一个composer SDK项目 创建一个 composer.json文件或使用 命令 (如果不清楚怎么弄 直接跳过即可,一般都会默认配置)

    composer init
    

     这是生成的composer.json文件

    将自己要使用的包添加到 require 中,如果没有require则自己添加 (composer文件中必须用双引号不能使用单引号) 必须引入PHP包 版本看项目的使用环境而定  执行composer update 命令更新composer包

    也可以使用 composer 命令添加 示例:

    composer require guzzlehttp/guzzle:^6.0
    1. {
    2. "name": "test/sdk", #包的名称
    3. "description": "这是测试sdk", #SDK的详情介绍
    4. "type": "library", #包的类型
    5. "authors": [ #作者消息
    6. {
    7. "name": "xxxxxx",
    8. "email": "xxxxxx@qq.com"
    9. }
    10. ],
    11. "require": { #需要引入的包
    12. "php": ">=7.2", #PHP 大于等于7.2的版本 必须引入PHP包
    13. "guzzlehttp/guzzle": "~6.0"
    14. },
    15. "autoload": { # 自动加载的配置
    16. "psr-4": { #代码规范 PSR-4 是 PHP 命名空间和类文件的标准
    17. # 设置命名空间 名称 src/ 则是当前命名空间 Test\Sdk\ 指定的 文件地址
    18. "Test\Sdk\": "src/php"
    19. }
    20. },
    21. }

    第二步在 src文件下面创建一个PHP类 示例 :(命名空间必须是 composer 中配置的 autoload 下的 psr-4 中配置 命名空间)

    1. namespace Test\Sdk;
    2. class TestSdk
    3. {
    4. protected $data = [];
    5. public function setSdkVersion($version){
    6. $this->data['sdk_version'] = $version;
    7. return $this;
    8. }
    9. public function setSdkType($type){
    10. $this->data['sdk_type'] = $type;
    11. return $this;
    12. }
    13. public function getData()
    14. {
    15. return $this->data;
    16. }
    17. }

     

     第三步 在项目根目录中 创建一个php 文件用来测试是否 可以执行 创建一个testSdk.php 文件

     

    1. // 引入composer 包
    2. require __DIR__.'/vendor/autoload.php';
    3. // 引入 test sdk
    4. use Test\Sdk\TestSdk;
    5. // 实例化 test sdk
    6. $test_sdk = new TestSdk();
    7. # 执行sdk 中的方法
    8. $data = $test_sdk->setSdkType('php') # 设置 sdk 类型
    9. ->setSdkVersion('1.0.0') # 设置 sdk 版本
    10. ->getData(); # 获取 设置的数据
    11. var_dump($data);

     点击运行脚本

      执行成功 

    第四步 将包上传到远程仓库

     将修改的文件 提交到本地仓库 然后 推送分支到 远程仓库

    点击推送即可

     查看远程仓库 分支已经存在 

     创建合并 并 合并分支

    接下来回到 本地 使用 phpstrom 切换本地 分支到默认分支 并 本地默认分支 pull 同步一下远程分支(不用切换分支也可以,在当前分支打标记点击推送勾选推送标签选择推送到所有即可 提交文件和标签可同时进行 但是为了规范 最好是去默认分支打标签 否则打的标签指定的分支不会是默认分支)

    切换分支

    拉取默认分支 内容

    接下来给 当前包 打标签  git命令是 git tag 标签名称

    phpstrom则是在界面左下角选择 git -》选择日志 -》选择提交记录 右键 选择 add tag 中文则是 新建标记

    接下来将 标签 提交到远程仓库

    点击推送即可

    我们来到远程仓库 

    标签已经创建成功

     接下来重点来了 我们如何将 我们自己创建的包使用到自己的项目中

    打开一个新的项目 我们创建一个composer.json 文件

     在composer 文件中 加入 require 和 repositories 数据 执行composer update 执行更新即可

    1. {
    2. "require": {
    3. "test/sdk": "1.0.*"
    4. },
    5. # 引入仓库composer 包
    6. "repositories": [
    7. # 包的列表
    8. {
    9. #包的类型 因为是git 仓库所以是 git
    10. "type": "git",
    11. # git shh 仓库地址
    12. "url": "git@e.coding.net:xxxxx/xxx/test_sdk.git"
    13. }
    14. ]
    15. }

    (如果没有配置git 环境变量 项目 否则无法使用 composer update 报错)

     现在包成功引入

     接下来我们创建一个PHP文件 实例化执行一下 试试看能否执行

    能正式跑通,到此我们就大功告成

  • 相关阅读:
    如何在服务器中安装anaconda
    docker 安装 portainer 来管理容器 (记录 1)
    LeetCode.101. 对称二叉树
    航天小众视野——BLUE ORINGN
    实战一次完整的博彩渗透测试
    设计一个实用好看的餐边柜或者酒柜需要知道这5点。福州中宅装饰,福州装修
    大数据Doris(九):配置BE步骤
    作为业主,你在享受物业管理与服务中有哪些困扰与需求?
    Java练习题十四期:不要二
    Ceph入门到精通-Linux内核网络参数优化小结
  • 原文地址:https://blog.csdn.net/fuchto/article/details/132908197