包制作
新建一个空文件夹,在里面输入composer init
,按提示输入包的相关信息。输入完后,文件夹内会自动生成一个composer.json
文件。
打开composer.json
文件,文件中的内容如下:
{
"name": "dedemao/composer_demo",
"authors": [
{
"name": "dedemao",
"email": "884358@qq.com"
}
],
"require": {}
}
指定当前包需要的依赖
如果你的包依赖与其他composer包,需要在composer.json
文件中的require
字段说明,例如依赖了monolog/monolog
这个包,那么修改以上文件内容为:
{
"name": "dedemao/composer_demo",
"authors": [
{
"name": "dedemao",
"email": "884358@qq.com"
}
],
"require": {
"monolog/monolog": "^2.0"
}
}
如果你的包需要PHP7.0以上的版本,也可以在require
字段说明,例如:
"require": {
"php": ">=7.0"
},
指定包的自动加载方式
composer
支持file
,classmap
,PSR-0
,PSR-4
这四种加载方式,一般推荐使用PSR-4
。需要在composer.json
文件中的autoload
字段添加说明:
"autoload": {
"psr-4": {
"dedemao\\mongodb\\": "src/"
}
}
dedemao\\mongodb\\
为你的命名空间,后面的src/
对应了实际的文件路径。
放入库代码
新建src
文件夹,将你的代码文件放进去。
创建README.md
README.md
主要用于向他人介绍如何使用你的包。
发布包
将代码推送至GitHub
在GitHub上新建仓库,并将代码推上去。
git init #将当前文件夹变为git仓库
git remote add origin https://github.com/xxx/xxx.git #链接远程仓库
git add . #添加当前目录下的所有文件到版本库
git commit -m "这里填写本次提交的说明" #把文件提交到版本库
git pull #从远程仓库更新
git push #将本地仓库代码推送至远程仓库
在packagist注册账号,并提交包
注册并登录后,点击导航栏上的submit
菜单,进入提交界面:
输入你的GitHub地址:
设置自动更新
只需要使用GitHub账号登录并授权关联即可。
此时,可以通过以下命令安装你制作的包了:
composer require aaa/bbb:dev-master
如果希望去掉后面的:dev-master
,那么需要发布版本。
发布版本
git tag #查看当前库所有的tag
git tag -a v1.0.0 -m 'version v1.0.0'
git push origin v1.0.0
#最新的github默认是main分支
git push origin main v1.0.0
然后去GitHub中点击release
发布版本后,将会在packagist页面展示:
安装包
现在可以使用composer requre aaa/bbb
这样的方式安装自己的包了。
声明LICENSE
参考:https://blog.csdn.net/qq_35246620/article/details/77647234