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

相关推荐
JaguarJack9 小时前
FrankenPHP 原生支持 Windows 了
后端·php·服务端
BingoGo9 小时前
FrankenPHP 原生支持 Windows 了
后端·php
JaguarJack1 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo1 天前
PHP 的异步编程 该怎么选择
后端·php
JaguarJack2 天前
为什么 PHP 闭包要加 static?
后端·php·服务端
ServBay3 天前
垃圾堆里编码?真的不要怪 PHP 不行
后端·php
用户962377954483 天前
CTF 伪协议
php
BingoGo5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack5 天前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
BingoGo6 天前
OpenSwoole 26.2.0 发布:支持 PHP 8.5、io_uring 后端及协程调试改进
后端·php