创建自己的composer包

转自个人博客:

https://www.tanchengjin.com/article/104

 

首先在github中创建一个空仓库

...步骤省略...(创建的测试仓库地址为git@github.com:349508017/test.git)

克隆github仓库到本地 git clone git@github.com:349508017/test.git test

在本地test目录下执初始化composer.json文件

composer init

填写包名格式为 供应商/包名

image.png

包的描述,可以忽略

image.png

github用户名与邮箱

image.png

包发布的最低要求,填写dev可以让github上代码直接同步到packagist,填写stable则需要在打了tag后才能发布

image.png

编写library即可

image.png

可不填,回车即可

image.png

是否定义当前的依赖项,可以输入no

image.png

选择要搜索依赖的包,输入php即可

image.png

输入最低约束版本php5.3即可

image.png

是否还有其他的约束,如果没有回车即可

image.png

浏览composer.json文件。(如果composer.json中出现\u....等系列字符,安装完成后在composer.json中删除\u...等字符即可,如果出现php5.3更改为5.3即可)   --如没有出现错误忽略此步骤即可

image.png

 

是否创建composer.json文件,输入yes即可

image.png

是否将vendor目录添加到git忽略列表中,选择yes即可

image.png

是否现在安装依赖,选择yes即可

image.png

打开项目目录可以看到已经有文件了

image.png

 

 

因为composer.json中文件选择项比较少,开发者可以手动修改或追加配置项

为了后续的方便将类库地址与composer的自动加载对应,还可以手动配置相应的内容。如映射类库的命名空间的实际目录

image.png

 

编写核心类库,在项目根目录下创建src/test/lib/Test.php文件

run方法接受一个字符串类型的参数并将它显示

image.png

建立类库与Composer的关系

完成类库编写之后,还需要建立与Composer的关系。主要操作就是吧自定义的类库,加入到Composer的自动加载(autoload)机制中,在类库提交后,开发者只需要在项目中引入全局的autoload.php文件(vendor/autoload.php),就可以直接实例化和使用类库先关功能

执行命令

composer install

安装完成后Composer会自动生成命名空间之间的映射关系,执行后会在项目目录下自动生成vendor目录,并在vendor目录下生成Composer包自动加载(autoload)程序文件

 

在项目根目录下的vendor/composer/autoload_psr4.php文件中,记录了$vendorDir和$baseDir的路径.使用Composer安装类库依赖时,packagist会自动将自定义的项目文件放到vendor目录下,文件代码如下

image.png

 

在本地测试包是否可用

在项目根目录下创建index.php文件,并写入如下代码

image.png

返回结果正常显示

image.png

 

测试没有问题提交到github中

 

提交依赖包到Composer packagist

点击submit

image.png

或者直接访问url  https://packagist.org/packages/submit

填写git地址后单击click按钮,packagist会检测是否和已有应用重名,没有应用重名就可以继续提交

image.png

此时如果通过composer require tan/test时会出现如下错误

 

image.png

可以输入composer require "tan/test @dev" 可获取开发版(dev)

这是因为获取稳定版本(stable)的发布需要在github上添加相应的标签(tag)步骤如下:

创建本地tag并推送到版本库

git tag -a v1.0.0 -m="v1.0.0"

查看tag是否已经添加成功

git tag

image.png

推送tag到github

git push test --tags

image.png

在packagist中执行更新

image.png

然后在右侧栏可以看到版本已经更新

image.png

此时输入如下命令可以直接下载源码

composer require "tan/test"

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值