学习php开发的同学们对composer 我想肯定不陌生吧,java有maven,php有composer 他们都是做的相同的工作。
PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。
省略 git 仓库的创建,仅演示如何创建composer 仓库
在cmd 中打开根目录 执行
composer init
后续一直根据提示回车。
结构如下
{
"name": "tanyong/laravel-util",
"autoload": {
"psr-4": {
"Tanyong\\LaravelUtil\\": "src/"
}
},
"authors": [
{
"name" : "tanyong",
"email" : "515063850@qq.com"
}
],
"license": "MIT",//这个很重要,代表着开源协议,没得协议不行
"require": {
"php": ">=8.0"
},
"minimum-stability": "dev",
"prefer-stable": true
}
包的开发根据自己的业务需求开发就行了
创建一个packagist的账户
创建成功之后,将composer仓库秘钥(secret)获取到保存下来,后续要用
在git仓库中设置webhook
在这里设置你的composer包仓库秘钥(上面注册packagist成功后获取到的)。
再设置Payload URL:https://packagist.org/api/github(composer 包仓库推送地址)
如此,完成git仓库到packagist的映射
git add .
git commit -m "我是composer 包"
git tag
git tag -a v1.0.1 -m "我是版本1"
git push origin v1.0.1
至此完成开发
接下来我们就可以使用了
上传成功的包如图所示
安装示例
composer require tanyong/laravel-util
有时候因一些翻墙的问题,我们无法将仓库程序同步到packagist平台,怎么办呢?有以下几种办法。
这里介绍第2种:设置git 仓库为代码镜像地址
我们开始按照之前的流程将代码上传至git仓库,仅有一点不一样(不设置webhook同步)。
然后在安装的时候我们采用vcs
{
"name": "administrator/1",
"autoload": {
"psr-4": {
"Administrator\\1\\": "src/"
}
},
"repositories": [
//重要,vcs仓库地址
{
"type" : "vcs",
"url" : "https://github.com/515063850/laravel_util.git"
}
],
"require": {
//依赖包
"tanyong/laravel-util" : "^1.0.2"
},
"authors": [
{
"name": "y"
}
]
}
参见上图的详情配置。设置要之后,我们再
composer update
完成。