上传Composer包到Packagist,并在Thinkphp5.0中使用

本篇博客参考Laravel China 吴坷麟的文章人人为我,我为人人!向社区发布自己的 Composer 包

主要讲解如何上传Composer包到Packagist,并在Thinkphp5.0中使用。

1.Github上创建仓库,并pull至本地。


上传Composer包到Packagist,并在Thinkphp5.0中使用_第1张图片

上传Composer包到Packagist,并在Thinkphp5.0中使用_第2张图片

在本地cmd运行:

git clone https://github.com/ouhaohan8023/test.git  

出现如下提示,运行成功

上传Composer包到Packagist,并在Thinkphp5.0中使用_第3张图片

2.初始化项目,生成Composer包描述文件

在生成的文件夹中,按照下图示目录结构创建文件(也可不按照图示,我没有尝试)

上传Composer包到Packagist,并在Thinkphp5.0中使用_第4张图片

初始化composer包描述文件:

(1)cmd定位到项目根目录,在此案例中,为D:\xampp\htdocs\test

(2)composer init 

(3)初始化开始,如图:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第5张图片

(4)接下来填写此文件的依赖,因为这个为测试,没有依赖,所以填no:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第6张图片

后期也可以在composer.json中修改添加

(5)接下来直接回车:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第7张图片

(6)至此,composer.json文件生成

(7)打开新生成的composer.json,增加自动加载配置,主要是对命名空间和本地代码目录之间的映射

上传Composer包到Packagist,并在Thinkphp5.0中使用_第8张图片

3.提交项目至github

git add.  

git commit -m 'test'  

git push  

上传Composer包到Packagist,并在Thinkphp5.0中使用_第9张图片

4.向Packagist提交包

Packagist传送门

可以用github注册,具体不说了,注册登陆成功以后:

1.点击Submit:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第10张图片

2.在输入框中填入github上的仓库地址,如图:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第11张图片

点击Check

注意事项:

(1)如果composer.json中的name和Packagist上已有的包重复了,比方说博主一开始的name为oscar/a,在这边提交的时候,系统提示,已经有oscar/school这个包,意思是我不能创建oscar开头的包了(具体提示什么我忘了),所以在本案例中,我改成了oscarhan。

(2)第二种情况是,composer.json文件有问题,一般都是语法问题,自己排查。

check成功的话:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第12张图片

点击Submit,上传,然后跳转到如下页面,即成功。

上传Composer包到Packagist,并在Thinkphp5.0中使用_第13张图片

3.为此包设置版本号

在本地cmd中运行:

git tag 1.0.0  

git push --tag  

上传Composer包到Packagist,并在Thinkphp5.0中使用_第14张图片

然后在Packagist上点击Update:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第15张图片

刷新页面后(在这边还没有设置github的自动推送钩子,所以需要手动点击),右边会变成:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第16张图片

这样子,版本号设置成功,可以在项目中直接运行

composer require oscarhan/test  

4.在Thinkphp5中使用

composer包创建完毕,可以在Thinkphp5.0中进行使用了

进入Thinkphp5.0的根目录,运行

composer require oscarhan/test  

(以下截图中,oscarhan/test会用oscarhan/ipget替换,因为是实际使用的项目,所以不想加载无用包,偷懒了,各位见谅。)

上传Composer包到Packagist,并在Thinkphp5.0中使用_第17张图片

注意:如果使用的是国内镜像,由于同步不及时的问题,需要等待1-5分钟左右。

下载完成后,即可在项目中进行使用

上传Composer包到Packagist,并在Thinkphp5.0中使用_第18张图片

再次提醒,目录和上面截图中使用的命名空间不同,请注意区分

上传Composer包到Packagist,并在Thinkphp5.0中使用_第19张图片
上传Composer包到Packagist,并在Thinkphp5.0中使用_第20张图片

以上,实现了上传Composer包到Packagist,并在Thinkphp5.0中使用。

懒得小伙伴可以不用往下看了

懒得小伙伴可以不用往下看了

懒得小伙伴可以不用往下看了

设置github钩子,实现git push的同时,自动更新Packagist,免去了手动Update的烦恼

(1)在github,项目中,如图

上传Composer包到Packagist,并在Thinkphp5.0中使用_第21张图片

2.选择packagist,然后输入密码,进入如下页面

上传Composer包到Packagist,并在Thinkphp5.0中使用_第22张图片

User为Packagist中的username

Token在Packagist中的如图位置找:

上传Composer包到Packagist,并在Thinkphp5.0中使用_第23张图片

新增成功后,进入,点击Test Service

上传Composer包到Packagist,并在Thinkphp5.0中使用_第24张图片

如上所示,即设置成功。

结尾:

正向吴坷麟的文章人人为我,我为人人!向社区发布自己的 Composer 包中写到的那样,人人为我,我为人人。博主一直从各个平台获取知识,却从未贡献任何笔记,让人很是惭愧。本篇文章只是对人人为我,我为人人!向社区发布自己的 Composer 包 的一个学习笔记,如果能在各位迷途的时候,起到一丝丝的帮助,我便很欣慰了。

你可能感兴趣的:(上传Composer包到Packagist,并在Thinkphp5.0中使用)