项目中频繁使用的代码片段,通常会被封装成全局方法或类,以提高程序的复用性。但初始化新项目,手动引入会相对麻烦,此时可以提交到composer上实现自动安装。
1、创建composer 包
因为composer的代码都是托管在github上的所以开发者需要对git的操作相对比较熟悉。
2、操作大致步骤
1)使用github上创建应用仓库
2)使用composer在本地初始化
3)在本地开发类库并与composer建立对应关系
4)提交到github应用仓库
5)提交Github仓库地址到packagist后完成发布。
1)使用github上创建应用仓库
现在就来看看 是如何操作的,
首先呢,需要一个github的账号和密码
使用用户名和密码进行登录
第一、新建git仓库
登录成功以后,需要新建一个git仓库
就这样创建了一个库,如图所示
第二、克隆项目到本地
然后通过 git clone https://github.com/songyongzhan/song_tp_mailerqueue.git
下载到本地
好的,那么我们现在就是要把上传的代码 放在这里
好的 本地 src 文件夹 里就是我们要上传的类 和文件
如图所示:
那么距离我们上传还差一个文件 那么就是composer.json ,这个文件内容是:
{ "name":"syz/cart", #这个名字是vendor目录下的目录 "type":"tp5-extension", "description":"the is shop cart for thinkphp 5", "keywords":["thinkphp","tp","tp5","thinkphp5","cart"], "license":"MIT", "support":{ #这是提问的地方 "issues":"https://github.com/songyongzhan/song_tp_mailerqueue/issues", "forum":"http://www.xiaosongit.com",#作者网站 "source":"https://github.com/songyongzhan/song_tp_mailerqueue"#github地址 }, "authors":[ { "name":"songyongzhan", "email":"574482856@qq.com" } ], "require":{ }, "autoload":{ "psr-4":{ "syz\\":"src/" } } }
git add --all git commit -m '上传成功' git push -u origin master //推送到远程
进行代码提交
好的,到这里我们git的库准备好了
第三、打开packagist https://packagist.org
通过github的用户名和密码进行登录
将来就可以通过composer下载
把Repository Url 地址填写上
https://github.com/songyongzhan/song_tp_mailerqueue.git
把git仓库地址填写到这里,然后点击Check,如果没有composr.json 文件是不能提交的。
找到了 The package name found for your repository is: syz/cart, press Submit to confirm.
可以直接submit 去提交了。
这是我们提交上来的,但是不会 auto_updateed 不会自动更新,需要进行设置。
点击 GitHub Service Hook 进去
curl -XPOST -H'content-type:application/json' 'https://packagist.org/api/update-package?username=songyongzhan&apiToken=API_TOKEN' -d'{"repository":{"url":"PACKAGIST_PACKAGE_URL"}}'
这里看到 API_TOKEN 需要替换
PACKAGIST_PACKAGE_URL 需要替换成 git 资源库地址
得到token 的值:
执行命令,成功
curl -XPOST -H'content-type:application/json' 'https://packagist.org/api/update-package?username=songyongzhan&apiToken=TFTRGBC-VLNX-554M0eAg_Dg' -d'{"repository":{"url":"https://github.com/songyongzhan/song_tp_mailerqueue.git"}}'
好的。都没有什么问题。
那么composer中的版本号是怎么出现的呢?
通过 git tag -a v0.1.0 -m "init code" 命令 然后 推送到远程服务器上。
git push -u origin --tags
推送到 --tags
好了以后,就在https://packagist.org/packages/syz/cart
这个地址上刷新,一会就出现以了这个版本号.
我们就可以通过composer 来进行安装了。