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