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

    {
        "name": "test/sdk", #包的名称
        "description": "这是测试sdk", #SDK的详情介绍
        "type": "library", #包的类型
        "authors": [   #作者消息
            {
                "name": "xxxxxx",
                "email": "xxxxxx@qq.com"
            }
        ],
        "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 中配置 命名空间)

    <?php
     
    namespace Test\Sdk;
     
    class TestSdk
    {
        protected  $data = [];
     
        public function setSdkVersion($version){
            $this->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 文件

    <?php
    // 引入composer 包
    require __DIR__.'/vendor/autoload.php';
    // 引入 test sdk
    use Test\Sdk\TestSdk;
    // 实例化 test sdk
    $test_sdk = new TestSdk();
    # 执行sdk 中的方法
    $data = $test_sdk->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": "git@e.coding.net:xxxxx/xxx/test_sdk.git"
            }
        ]
    }
     

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

 现在包成功引入

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

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

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/fuchto/article/details/132908197

相关推荐

  1. IntelliJIDEA如何将依赖打入项目?

    2024-03-13 12:28:02       30 阅读
  2. Vue3学习:如何Vue3项目创建axios实例

    2024-03-13 12:28:02       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 12:28:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 12:28:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 12:28:02       87 阅读
  4. Python语言-面向对象

    2024-03-13 12:28:02       96 阅读

热门阅读

  1. 面试几个问题总结

    2024-03-13 12:28:02       39 阅读
  2. Mac上.bashrc转.zshrc时,设置PATH环境变量注意事项

    2024-03-13 12:28:02       38 阅读
  3. Mac 免费模拟器推荐适配m1芯片

    2024-03-13 12:28:02       41 阅读
  4. 在linux中查询运行日志的方法

    2024-03-13 12:28:02       43 阅读
  5. VUE+VScode+elementUI开发环境

    2024-03-13 12:28:02       34 阅读
  6. YoloV8实战:YoloV8-World应用实战案例

    2024-03-13 12:28:02       42 阅读
  7. c语言读写日志代码实现

    2024-03-13 12:28:02       48 阅读
  8. 力扣-中等

    2024-03-13 12:28:02       40 阅读
  9. OpenCV-交互相关接口

    2024-03-13 12:28:02       41 阅读