制作php的composer包

news2024/11/22 17:50:47

目录

1、初始化包
2、将代码推送到github远程仓库
3、为写好扩展包打上tag标签标记当前代码版本
4、将包发布到包管理平台

初始化包,生成

创建配置文件composer.json

composer init 

composer init 按照引导就可以生成了 , 详细的引导解释如下

This command will guide you through creating your composer.json config.
 
# 1. 输入项目命名空间
# 注意<vendor>/<name> 必须要符合 [a-z0-9_.-]+/[a-z0-9_.-]+
Package name (<vendor>/<name>) [root/test_composer]:yourname/projectname
 
# 2. 项目描述
Description []:这是一个测试composer init 项目
 
# 3. 输入作者信息,直接回车可能出现如下提示,有的系统可以直接回车,具体为什么?这里不详细介绍
 Invalid author string.  Must be in the format: John Smith <john@example.com>
# 3.1. 注意必须要符合 John Smith <john@example.com>
Author [, n to skip]: John Smith <john@example.com>
 
# 4. 输入最低稳定版本,stable, RC, beta, alpha, dev
Minimum Stability []:dev
 
# 5. 输入项目类型
Package Type (e.g. library, project, metapackage, composer-plugin) []:library
 
# 6. 输入授权类型
License []:
 
Define your dependencies.
 
# 7. 输入依赖信息
Would you like to define your dependencies (require) interactively [yes]?
 
# 7.1. 如果需要依赖,则输入要安装的依赖
Search for a package:php
 
# 7.2. 输入版本号
Enter the version constraint to require (or leave blank to use the latest version): >=5.4.0
 
#  如需多个依赖,则重复以上两个步骤(7.1/7.2)
Search for a package:
 
# 8. 是否需要require-dev,
Would you like to define your dev dependencies (require-dev) interactively [yes]?
 
 
{
    "name": "dduan/test_compser",
    "description": "这是一个测试composer init 项目",
    "type": "library",
    "require": {
        "php": ">=5.4.0"
    },
    "authors": [
        {
            "name": "John Smith",
            "email": "john@example.com"
        }
    ],
    "minimum-stability": "dev"
}
# 9. 是否生成composer.json
Do you confirm generation [yes]?
 
# 现在安装依赖项吗
Would you like to install dependencies now [yes]?

composer.json配置文件内容示例:

{
    "name": "liuyuanshan11/sd-micro-service-client",
    "description": "sd-micro-service-client",
    "homepage":"https://github.com/liuyuanshan11/sd-micro-service-client",
    "require": {
        "php":">=7.0",
      "ext-json": "*"
    },
    "autoload": {
        "psr-4": {
            "liuyuanshan11\\SdMicroServiceClient\\": "src/"
        }
    },
    "authors": [
        {
            "name": "Alan.Liu",
            "email": "1019213039@qq.com",
            "homepage":"https://github.com/liuyuanshan11/sd-micro-service-client"
        }
    ],
    "minimum-stability": "dev"
}

将代码推送到github远程仓库

# 将代码推送到master远程仓库
 git push origin master

为写好扩展包打上tag标签标记当前代码版本

为当前版本打上tag标签,在发布包管理平台时会使用到,因为包的拉取是根据版本拉取的,默认拉取最新tag标签的版本包

# 创建标签
git tag v1.0.0

# 查看所有标签
git tag

# 远程推送到github仓库
git push origin master --tags

将包发布到包管理平台

先到包管理平台进行注册登录,这里我选择了github账号进行授权登录比较方标

https://packagist.org/

点击【Submit】按钮,将github仓库地址放入解析框,最后点击【Check】便可完成包的发布
在这里插入图片描述
查看发布的包与迭代中的包版本
在这里插入图片描述

下载并使用包示例

下载包,默认拉取最新tag包

composer require liuyuanshan11/sd-micro-service-client

使用包

use liuyuanshan11\SdMicroServiceClient\MicroService;


$services = [
    'queue' => 'https://queue-service.sumian.com',
    'console' => 'https://console-service.sumian.com',
    'organization' => 'https://organization-service.sumian.com',
    'liu' => 'http://sdapi.test.top'
];

$obj = new MicroService('appId', 'appSecret', $services);
var_dump($obj->get('console')->act('controller', 'action', ["key01" => "value01"]));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/59280.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机图形学中的曲线问题——拉格朗日插值曲线绘制实践

拉格朗日插值曲线的绘制 限于篇幅&#xff0c;我们将在这篇文章中介绍拉格朗日插值曲线绘制实践&#xff0c;主文章链接&#xff1a; GGN_2015 计算机图形学中的曲线问题 在主文章中我们已经介绍了拉格朗日插值函数的绘制方法。给定一个函数必须通过的点的集合&#xff0c;保证…

学习spring源码的意义是什么呢?有什么高效的源码学习方式吗?

这不是准备跳槽了&#xff0c;所以最近摸鱼比较多一些&#xff0c;老大默许了&#xff0c;我觉得我老大还是很好的。也在网上看了一些资料&#xff0c;但是&#xff0c;我发现很多讲解注解的时候&#xff0c;对于一些可以直接点击源码查看的内容讲解的占多数&#xff0c;但是授…

【学习笔记】《Python深度学习》第六章:深度学习用于文本和序列

文章目录1 处理文本数据1.1 单词和字符的one-hot编码1.2 使用词嵌入1.3 从原始文本到词嵌入2 循环神经网络2.1 Keras中的循环层2.2 LSTM层和GRU层2.3 实例&#xff1a;使用 LSTM 进行 IMDB 电影评论分类3 循环神经网络的高级用法3.1 温度预测问题3.2 准备数据3.3 基于常识、非机…

eclipse导入svn项目,项目有红色的感叹号/叉号

eclipse导入svn项目&#xff0c;项目左下角有红色的感叹号/叉号 1.首先调出Problems ( window -> show view-> Problems ) 查看报错信息 其次&#xff0c;看看Project是否开启了项目自动构建&#xff08;Build Automatically&#xff09; 2.根据报错信息逐一解决 3.…

【Linux内核代码分析1】Linux时间子系统及HRTIMER实现

Linux时间子系统软件架构 &#xff08;1&#xff09;嵌入式设备需要较好的电源管理策略。传统的linux会有一个周期性的时钟&#xff0c;即便是系统无事可做的时候也要醒来&#xff0c;这样导致系统不断的从低功耗&#xff08;idle&#xff09;状态进入高功耗的状态。这样的设计…

从 Nauty 数据结构出发认识群论

在阅读本文前&#xff0c;强烈建议有志入门群论的同学观看 3blue1brown 魔群 视频。 对于计算机方向同学&#xff0c;可以尝试从数据结构的角度理解。本文主要基于文档、网站 Nauty 和 Nauty 的 python binding, pynauty(github.com) 展开。 Nauty 数据结构 本小节截选自 Na…

字节跳动虚拟数字人技术与应用

导读&#xff1a;火山引擎正在打造完善的虚拟数字人技术和应用体系&#xff0c;那么火山引擎是如何定义虚拟数字人的呢&#xff1f;火山引擎 2D 虚拟数字人和 3D 数字人采用了怎样先进的技术&#xff1f;火山引擎数字人有哪些应用和前景展望&#xff1f;今天我们就来一起探秘火…

[附源码]计算机毕业设计基于SpringBoot的毕业生就业系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

浅谈操作系统和进程

前言 操作系统是一个软件&#xff0c;对下要管理硬件设备&#xff0c;对上要给软件运行提供稳定的运行环境。操作系统是软硬件及用户之间交互的媒介。最常见的操作系统有Windows 98&#xff0c;2000&#xff0c;xp&#xff0c;vista&#xff0c;win7&#xff0c;win8&#xff…

# 智慧社区管理系统-核心业务功能-04保修信息

一 后端 1:entity package com.woniu.community.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor public class Repair {private int id;private String comId;private String co…

[附源码]计算机毕业设计springboot医院挂号住院管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

LeetCode 441. 排列硬币

&#x1f308;&#x1f308;&#x1f604;&#x1f604; 欢迎来到茶色岛独家岛屿&#xff0c;本期将为大家揭晓LeetCode 441. 排列硬币 &#xff0c;做好准备了么&#xff0c;那么开始吧。 &#x1f332;&#x1f332;&#x1f434;&#x1f434; 一、题目名称 LeetCode 441. …

Java基于springboot+vue的游戏物品销售购物商城系统 前后端分离

随着时代和计算机的发展&#xff0c;出现了越来越多的网络游戏&#xff0c;相对应的也拥有了越来越多的玩家&#xff0c;这些玩家在玩了一段游戏之后&#xff0c;可能会有游戏交易的需求。如果直接在私下个人交易很不安全&#xff0c;容易被骗。为了能够让广大游戏爱好者拥有一…

.net6 web api中使用SqlSugar(MySQL数据库)

其中SqlSugar&#xff0c;也可以是EFcore&#xff0c;或者Dapper&#xff0c;或者其他ORM框架。 其中mysql&#xff0c;也可以是SqlServer&#xff0c;或者oracle&#xff0c;或者其他数据库类型。 1.首先使用vs2022建立.net6 web api 2.增加SqlSugar和MySQL依赖项。 Newton…

17.前端笔记-CSS-定位

1、为什么要定位 先看看以下这些场景是否可以用标准流或浮动实现 &#xff08;1&#xff09;某个元素可以自由的在一个盒子内移动位置&#xff0c;并且压住其他盒子 &#xff08;2&#xff09;滚动窗口时&#xff0c;某些盒子是可以固定在屏幕某个位置的 以上这种场景使用标准…

# 智慧社区管理系统-核心业务管理-01车位收费

一 后端 1:entity package com.woniu.community.entity;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data AllArgsConstructor NoArgsConstructor public class CarCharge {private int id;private String payDate;//开始时间pr…

Vue 官方文档2.x教程学习笔记 1 基础 1.6 Class 与 Style 绑定 1.6.1 绑定HTML Class

Vue 官方文档2.x教程学习笔记 文章目录Vue 官方文档2.x教程学习笔记1 基础1.6 Class 与 Style 绑定1.6.1 绑定HTML Class1 基础 1.6 Class 与 Style 绑定 操作元素的 class 列表和内联样式是数据绑定的一个常见需求。 因为它们都是 attribute&#xff0c;所以我们可以用 v-b…

浅析Vue3动态组件怎么进行异常处理

Vue3动态组件怎么进行异常处理&#xff1f;下面本篇文章带大家聊聊Vue3 动态组件异常处理的方法&#xff0c;希望对大家有所帮助&#xff01; 动态组件有两种常用场景&#xff1a; 一是动态路由&#xff1a; // 动态路由 export const asyncRouterMap: Array<RouteRecordR…

【算法】山东大学人工智能限选课实验一(八数码问题)

实验一 八数码问题 1. 题目介绍 八数码问题描述为&#xff1a;在 33 组成的九宫格棋盘上&#xff0c;摆有 8 张牌&#xff0c;每张牌都刻有 1-8 中的某一个数码。棋盘中留有一个空格&#xff0c;允许其周围的某张牌向空格移动&#xff0c;这样通过移动牌就可以不断改变棋盘布…

【实验报告NO.000001】MIT 6.858 Computer System Security - Lab 1

0x00. 一切开始之前 MIT 6.858 是面向高年级本科生与研究生开设的一门关于计算机系统安全&#xff08;secure computer security&#xff09;的课程&#xff0c;内容包括威胁模型&#xff08;threat models&#xff09;、危害安全的攻击&#xff08;attacks that compromise s…