合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
##一 前言 因为最近自己还有同事大家在开发过程中,积累了不少质量比较高而且比较实用的代码,这些代码都是经过几年的打磨才出来的,有的几十行甚至上百行,每次项目需要用到这些代码的时候,总不能走到哪,拷到哪,于是打算上传到github上,凑巧项目中用到了composer,那么就直接把这个打成一个Composer包,在这里记录一下这个过程,以后用到回来翻翻,作为一个web开发者,每天打交道的东西有数,有些东西长期不碰难免会忘,特别是一些偏运维的东西,甚至是命令或者一些高数理论,好记性不如烂笔头,记录一下还是比较好的,顺便分享给需要他的人。 ##二 准备 : 注册[github](https://github.com/)账号,注册 [Packagist](https://packagist.org/) 账号 ##三 github 创建仓库 ![](https://img.kancloud.cn/3d/73/3d73ee74d45394b84dd1ef471494a3b9_800x311.png) ![](https://img.kancloud.cn/29/34/293497ac3ed17d28d859fa266a17cebb_800x382.png) ##四 将代码克隆到本地 $ git clone https://github.com/xxxx/xxxx.git ![](https://img.kancloud.cn/85/ab/85ab8570d1dc9a3cd9a770f9b73016c7_561x137.png) ##五 创建 Composer 配置文件 进入项目根目录,创建 Composer 配置文件 composer.json,可以使用命令 compser init 创建也可以手动创建,最终文件内容大体如下: ``` { "name": "xxx/xxx", "description": "xxxx", "authors": [ { "name": "xxxx" } ], "require": { "php": ">=7.0" }, "autoload": { "psr-4": { "xxxx": "xxxx" } } } ``` .getignore文件编辑一下 ``` /vendor/ .idea composer.lock ``` ## 六 发布包到 Packagist 登录 Packagist,检出 https://github.com/xxxxx/xxx.git 仓库的代码,系统会根据仓库中 composer.json 文件自动设置包的相关信息。 ![](https://img.kancloud.cn/94/b5/94b51e67c54e55c6d75a394c1dbd5c03_800x235.png) 5. 设置 Packagist 中的包自动更新 如果不设置自动同步,每次 Github 中的代码更新,需要在对应包中手动更新,所以建议设置自动更新。 官方文档如下[how-to-update-packages](https://packagist.org/about#how-to-update-packages) 根据文档第一步 如果您已经有一个未连接到GitHub的帐户,您可以在您的个人资料上连接它 [connect it on your profile][4](https://packagist.org/profile/edit) ![](https://img.kancloud.cn/09/9f/099fe40bb29408984be5662e70436e54_800x370.png) 根据文档第二步 看一下 github 与 Packagist连接 ![](https://img.kancloud.cn/96/df/96df1008b9b7e02852733bfa1285c47d_800x308.png) 已经设置自动更新 ![](https://img.kancloud.cn/2c/1e/2c1efce369dcaaca37c3627a5e8daffe_800x347.png)