编写一个私有的composer包

 很多时候,多人开发一个项目的时候,我们需要统一管理依赖和一些类库文件,不然每个人引入自己的类源码,造成累赘,和使用方法不一混乱的局面。所以现在很多流行框架都用composer来管理。

大部分都是github上创建自己的依赖包,然后Packagist来发布,最后composer下载到自己的项目。但是有时候我们需要用的类库是涉及隐私的,不方便公开,怎么办。这个时候需要我们自己配配置composer下载源

下面的例子:是以本地搭建的gitlab为仓库(内部才能访问).

 

一、环境信息

目前gitlab网址为 http://git.weshineapp.com

假设要安装的包名为 weshine/weshineLib

:包名带斜杠/    这是composer包规定格式

 

二、修改 composer 全局 config  

文件路径 /root/.composer/config.json (路径大部分为这个)

因为 git.weshineapp.com 使用 HTTP 协议, 所以secure-http 要设为false

设置gitlab-domains 告诉 Composer 相应的域名可以使用 GitLab API   

 

内容如下:



{
 "config": {
 "secure-http": false,
 "gitlab-domains": [
    "git.weshineapp.com"
  ]
 }
}

 

三、在gitlab上创建一个项目

编写composer.json文件,然后提交到仓库上。此时因为有了composer.json文件,该项目相当于一个包文件

 

:composer.json中具体的文件对应加载类型,需要根据文件的作用,自行判断,加载类型含义可参考网址:http://laravelacademy.org/post/7074.html (推荐psr-4加载类型)

 

个人理解

psr-0 :已经被废弃,原因目录结构太深,不适用

files :一般对应公共函数的文件

class-map :顾名思义,只是做了一个映射而已,这种最普通的自动加载,如果项目够大,文件很多,容易产生类名冲突

psr-4:会自动给相应文件夹下的类文件,自动添加一个和文件夹同名的命名空间前缀,然后进行相应加载。可以有效避免类名冲突的问题。

 

加载原理:可追溯vendor文件夹下的autoload文件。

例如:以下是我的conposer.json配置



 

 

四、在其他项目中使用第三步创建好的包,实现自动加载

在项目的根目录中,使用composer init命令 然后一直回车,默认创建一个composer.json的文件,然后进行编写,大致内容如下:



最后: 编写完成composer.json 文件之后,可以使用 composer update 命令进行安装,或者更新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值