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