发布一个自己的composer包

news/发布时间2024/8/25 20:35:33

首先我们创建一个空的目录,并且运行以下命令初始化一个空白的composer包

composer init

可以在命令窗口看到有返回提示; 需要输入包名

This command will guide you through creating your composer.json config.`
Package name (<vendor>/<name>) :

我这里写的是chaoyang/test,回车 需要输入描述

Description []:

包的描述内容 需要输入作者

Author [xxx xxxx@qq.com>, n to skip]:

该选项如果有默认值 可以直接回车 需要输入最低稳定版本

Minimum Stability []:

该选项有可选值:stable, RC, beta, alpha, dev 一般填dev 需要输入包类型

Package Type (e.g. library, project, metapackage, composer-plugin) []:

可选项在提示中已经有了,我们一般选library填l即可 需要输入开源协议

License []:

根据自己情况填写,我们填Apache设置包需要依赖的其他环境或者包

Define your dependencies.
Would you like to define your dependencies (require) interactively [yes]?

如果需要设置依赖环境或者其他包 则输入yes回车,会让你搜索,我们这里给包设置php版本必须大于5.6,所以搜索php。

Enter the version constraint to require (or leave blank to use the latest version):

输入最低要求版本号 >=5.6.0

{"name": "chaoyang/test","description": "This is a test package,form yancoo.cn,author is xxx.","type": "l","require": {"php": ">=5.6.0"},"license": "Apache","authors": [{"name": "xxx","email": "xxxx@qq.com"}],"minimum-stability": "dev"
}

Do you confirm generation [yes]?

确认信息,yes 回车 初始化完成 Do you confirm generation [yes]? yes Would you like to install dependencies now [yes]? yes 安装完成

编辑composer.json文件

然后我们创建src文件夹,再创建siam文件夹,在里面创建Test.php文件 写上命名空间 Siam; 根据psr-4规范,类名要与文件名相同。

<?php
//Test.php文件
namespace Siam;
class Test
{function test(){echo "Form Test -> test()";}
}

再在最外层写下index.php测试文件,正确做法是创建demo文件夹 然后再写测试文件。

<?php
require "vendor/autoload.php";
$Test = new Siam\Test();
$Test->test();

建立git仓库,上传代码,省略。。

我们需要把包上传到仓库中,别人才可以通过composer命令安装 我们需要先把包上传到github中,

再把github仓库地址复制到composer官方仓库提交,composer就会自动拉取你的包并且提供给别人下载安装了!

上传composer包到https://packagist.org/

我们打开,并且注册一个账号。然后点击右上角的submit。把地址填写进去即

到这里,我们的github仓库与packagist已经建立了关联,但是这个使用还是用不了的,因为我们还没有发布正式版本!

需要在git上打标签,才认为我们发布了一个新的版本,packagist才会去拉取并且提供给别人安装。 git打标签需要运行以下命令

git tag -a v1 -m "第一个版本"
git push origin v1

然后就在线上仓库打标签成功了,此时运行composer安装也正常了 在新的一个空白目录中运行

composer require chaoyang/test    是我们初始化填写的包名!

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

如若内容造成侵权/违法违规/事实不符,请联系连锁易网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

读所罗门的密码笔记15_数据透明度

读所罗门的密码笔记15_数据透明度1. 数据透明度与控制权 1.1. 作为人类,我们会带有偏见,而且往往不知道自己在智力和情感上的盲区 1.2. 精心制作的人工智能机器,即使有自己的缺点,也能帮助我们做出更客观的决定,为提升我们的生活质量和改善社区的生态环境做出贡献 1.3. 美…

QAT量化感知训练

QAT量化感知训练 基本原理 相比训练后量化因为其不是全局最优而导致的精度损失,QAT量化感知训练能做到基于loss优化的全局最优,而尽可能的降低量化精度损失,其基本原理是:在fp32模型训练中就提前引入推理时量化导致的权重与激活的误差,用任务loss在训练集上来优化可学习的…

树状数组快速入门

树状数组、 Fenwick Tree 或 Binary Indexed Tree ,通常用缩写 BIT 代表。 是一种 “一种基于二进制 lowbit ,用于维护(加法、位运算、max、gcd 的)前缀和的树形数组” 。 可以叫做 一个树状数组 或 一棵 Fenwick Tree 。 重要性质:同时满足即是数组又是树的性质。针对定义…

蓝桥杯2020年C组-试题I-数字三角形(简化版-少一个左右路径差不大于1条件)

1. 题目介绍上图给出了一个数字三角形。 从三角形的顶部到底部有很多条不同的路径。 对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右边的那个数。 输入格式 输入的第一行包…

e/易语言 按钮界面弹出气泡提示

案例本文来自博客园,作者:__username,转载请注明原文链接:https://www.cnblogs.com/code3/p/18125232

Linux安装JDK详细教程

Linux安装JDK详细教程(图文教程) 这里介绍两种方式:yum安装方式和手动安装1、yum安装 1.1 查看JDK版本,找到你想要安装的JDK版本,这里以 JDK1.8 为例 输入命令:yum -y list java*1.2 安装JDK1.8 输入命令:yum install -y java-1.8.0-openjdk.x86_64 没权限执行这行:sud…

查询下属

win +R 键sqlplus1 用户名:scott密码 :tigerselect * from emp;select * from dept;select ename,sal,comm from emp;select ename,sal+nvl(comm,0) from emp;select ename,12*(sal+nvl(comm,0))年薪 from emp;1 select empno from emp where ename=upper(king);2 select …

PHP代码审计——Day7-Bells

漏洞解析 function getUser($id) {global $config, $db;if (!is_resource($db)) {$db = new MySQLi($config[dbhost],$config[dbuser],$config[dbpass],$config[dbname]);}$sql = "SELECT username FROM users WHERE id = ?";$stmt = $db->prepare($sql); // 调用…

【每周例题】蓝桥杯 C++ 多数

多数元素 题目 多数元素思路分析一 .第一个想法,暴力遍历,然后会发现容易超时,那么更进一步想:哈希表使用哈希表存储每个数出现的次数,即使用哈希映射(HashMap)来存储每个元素以及出现的次数。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数 加入…

Python函数

一、函数定义以及作用 函数/方法/function(功能):函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段(块)。函数能提高应用的模块性和代码的重复利用率。比如我们天天使用的函数print(),这个就是函数(一个Python内置的函数)。也可以自己创建函数,这类函数…

linux环境安装——kafka安装复习

需要安装jdk、zk;然后才是kafkakafka版本:kafka_2.13-3.2.3.tgz[root@iZf8zi6zcbssmm6c2nrhapZ /]# ls -alt total 84 drwxrwxrwt. 9 root root 4096 Apr 9 14:42 tmp drwxr-xr-x 7 root root 4096 Apr 9 14:38 soft drwxr-xr-x 7 root root 4096 Apr 9 14:38 …

中间件漏洞攻防学习总结

Apache(阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 此漏洞的出现是由于 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A…

若依RuoYi-Vue代码生成,新建一个增删改查模块

启动ruoyi-ui,登录前端后台 以cti_faq 问答对表 为例。首先在 mysql数据库 中建张 cti_faq 表CREATE TABLE `cti_faq` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 编号,`question` varchar(255) DEFAULT NULL COMMENT 问题内容,`answer` text COMMENT 答案内容,`category…

【攻防实操系列+域渗透】--安装域控(Windows-Server-2008-R2-x64)教程

1.创建windows 2008 R2 虚拟机选完全安装。 第一个是标准版功能很少。不建议选。 另外两个任意选。 我选的是Enterprse企业版。❗❗❗注意:需要提前了解域控的密码复杂度规则。 密码一定要自己记住!!! 密码①可以看到界面非常小,不方便操作。 ❗❗❗需要安装vm tools,详细…

Miktrotron MC2588相机配置

MC2588 大面阵相机MC2588 测试CoaXPress测试 该相机在Hello-FPGA CoaXPress系统中工作状态良好。 WIN10 PCIe Gen3x8 KU040 FPGA Hello-FPGA 2.0 FMC HOST Card

【译】使用最新预览版查看您的拉请求注释

在17.10预览版2中,我们刚刚发布了预览支持,可以直接在 Visual Studio 的工作文件中查看 GitHub 和 Azure DevOps 的拉取请求注释。在17.10预览版2中,我们刚刚发布了预览支持,可以直接在 Visual Studio 的工作文件中查看 GitHub 和 Azure DevOps 的拉取请求注释。作为开发者…

算子量化技术基本概念

INT8量化分为非对称量化与对称量化。对称量化是非对称量化的一个特例, 通常对称量化的性能会优于非对称量化, 而精度上非对称量化更优。 非对称量化 如上图所示, 非对称量化其实就是把[min,max]范围内的数值定点到[-128, 127]或者[0, 255]区间。 从int8到float的量化公式表达如…

蓝桥杯例题-快速分拣

1.题目2.题解 2.1 使用unordered_map存储键值对,使用vector存储城市输入顺序 思路 主要是这里unordered_map无法保存顺序,map会自动排序,所以保存一手输入顺序 unordered_map<string, vector> mp; 这里的vector自动初始化创建一个空的vector了,后面可以直接使用. 代码 #i…

深度学习-nlp--词向量--68

目录1.统计语言模型2. N-gram3. NPLM神经语言模型4. Word2Vec--基础中的基础5. CBOW 模型6. Skip-gram 进入新的领域 加油! 1.统计语言模型 语言模型 本质就是让机器学会说话 但是机器本质上是只会1+1 统计语言模型是所有 NLP的基础,被广泛应用与语音识别、机器翻译、分词、词…
推荐文章