在工作中,我们有的时候需要将一些公共的类库、组件等封装成Composer包,方便自己以及他人使用,下面就以Github为例,为大家简单介绍一下如何创建自定义的Composer包。
一、在Github上创建工程仓库
image.png
二、复制git地址,将创建好的工程克隆下来
git clone git@github.com:zhoujiafei/hello-world.git
三、进入到该工程目录下,执行composer init
1.执行了composer init 会有提示,跟着提示一步一步执行即可。
image.png
2.执行之后,会在当前目录生成一个composer.json文件
image.png
四、在该工程下创建一个目录,用于存放自己的工程代码,目录名称自己任意命名(一般命名src)
1.编写好自己的工程代码
image.png
2.编写composer.json文件,添加自动加载配置。
image.png
五、工程代码完成之后,提交到github并发布一个版本。
image.png
1.打开网站
image.png
2.登录进去(没有账号的需要自己注册一下)
image.png
3.点击「Submit」按钮
image.png
4.填写github上的工程地址并点击「Check」按钮
image.png
5.进入到包详情页面
image.png
七、包的使用
1.在本地新建一个工程目录test,并进入到这个目录下
mkdir test
cd test
2.执行composer命令
composer require zhoujiafei/hello-world
3.这个时候会生成如下的几个文件和目录
image.png
image.png
4.新建index.php文件,引入vendor下的autoload.php文件,并引用封装好的类进行测试
require_once './vendor/autoload.php';
use Zjf\Hello\Foo;
(new Foo())->show();
5.在浏览器中访问index.php文件,测试结果如下:
image.png
八、注意事项
1.如果包有变动,需要先提交github,然后在https://packagist.org/上进行同步更新。
image.png
2.需要发布新的版本的话,需要在github上发布新的版本,然后再到
https://packagist.org/上同步更新,两边的版本是对应起来的。
image.png
image.png
3.如果觉得每次手动更新太麻烦,可以在github上设置钩子进行自动同步更新
在github上点击「Settings」按钮
image.png
在Webhooks页面,点击「Add webhooks」按钮
image.png
进入如下页面
image.png
找到Payload Url
image.png
复制Payload Url
image.png
到github上填写好Payload Url与Secret 并点击「Add webhooks」按钮添加
image.png
‘
页面显示webhooks添加成功
image.png
image.png