单纯 git 实现公共代码库
2019-06-16 本文已影响0人
懒人代码丶
使用场景
多个项目共同使用,例如数据库配置、项目常量、工具库。有些敏感信息不能提交到 packagist 类似公开的网站,需要自行搭建私人仓库,也可以直接使用私人 git 仓库作为公共代码包。
公共代码项目结构
-
src
: 代码存放目录 -
tests
: 测试用例 -
compser.json
: 代码库声明,如下示例
{
"name": "myapp/common",
"version": "1.0",
"description": "我的公共代码库",
"type": "library",
"authors": [
{
"name": "myapp",
"email": "myapp@com"
}
],
"autoload": {
"psr-4": {
"MyApp\\common\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"MyApp\\common\\test\\": "tests/"
}
},
"require": {}
}
子项目引入
使用 composer
管理,composer.json
格式如下
{
"repositories": [
{
"type": "vcs",
"url": "http://github.com/myapp/common.git"
}
],
"require": {
"myapp/common" : "1.0.1.x-dev"
},
"config": {
"secure-http" : false
}
}
注意事项
-
repositories
自定义资源库,执行composer
下载依赖包时,会优先到该资源库查找资源包,不存在再到packagist.org
等默认资源库查找。 -
repositories
的vcs
表示版本控制系统,url
表示版本控制系统的资源地址。 -
repositories.url
可以使用ssh
也可以使用http/https
格式,若使用http
则需要配置关闭secure-http
。 - 引用项目使用公共代码库时指定版本,格式为
{公共代码库分支}.x-dev