Composer是PHP界的一个包管理器,一般大家只会用,可能不知道如何制作自己的Composer包。其实很简单,下面的图文教程就教你怎么做自己的Composer包。
项目仓库及准备工作
1、首先你需要上Github(其它Git也可以,比如码云,本文以Github为例)创建一个公开(Public)项目
2、把你这个新建的项目拉取下来
3、在项目根目录新建composer.json文件
4、编辑composer.json文件内容如下:
{ "name": "yurunsoft/composer-package-demo", "autoload": { "psr-4": { "Yurun\\ComposerPackageDemo\\": "src/" } } }
上面的name你自己设定,前面一般是公司或个人名称,后面的是项目名称。name全小写,用-分隔单词。
autoload里是配置你这个包的命名空间及对应目录
这是一个最简单的能生效的composer.json配置,还可以丰富更多信息,可以自行查阅,本文仅实现最简单的。
5、创建src目录
6、新建src/Test.php文件,内容如下:
<?php namespace Yurun\ComposerPackageDemo; class Test { public function heihei() { echo 'six six six', PHP_EOL; } }
7、提交推送到git仓库
发布到packagist
1、注册登录Packagist(https://packagist.org/)
2、点击右上角Submit
3、将你的Github地址贴进去,点Check
4、上图红框处能识别到你composer.json里设置的name就算成了,再点submit
5、到这一步已经可以通过yurunsoft/composer-package-demo来实现引入项目了
配置webhook实现每次推送自动同步到packagist
1、在github里管理你的项目,点Settings-Webhooks-Add webhook
2、这里填写信息需要注意!
Payload URL格式:https://packagist.org/api/bitbucket?username=你在packagist里的用户名&apiToken=在packagist里获取的token
packagist里获取token在:https://packagist.org/profile/ 点击Show API Token就行了
填完点“Add webhook”按钮完事
下面你每次提交推送,就会自动同步到packagist里,用composer就可以更新了。
要注意的是,我们用的国内镜像,会需要一段未知的时间等待同步。
测试我们发布的包
具体不再详细说了,可以参考:https://blog.yurunsoft.com/a/107.html
隐藏的全栈大佬