composer学习之包发布

包制作

新建一个空文件夹,在里面输入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支持fileclassmapPSR-0PSR-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

发表评论

邮箱地址不会被公开。 必填项已用*标注