构建自己的Composer包
2020-05-22 本文已影响0人
怀老师
关键字
新建composer.json文件
增加包名name,描述description,版本version,安装类型,默认为library,关键字keywords,项目主页homepage,版本发布时间time,许可协议license,作者authors,里面包含name,email,homepage,role
Composer语法
使用Json格式,编写后记得使用composer validate验证一下
require关键字
require定义自己项目依赖的包或者依赖的环境
{
"require": {
"monolog/monolog": "1.0.*"
}
}
//前面是provider,斜杠后是包名称,冒号后是包版本,多个之间用逗号隔开。
composer.lock文件
安装依赖后,Composer将把确切的版本存储在该文件中,防止后面自动更新,我们使用composer install就会从composer.lock文件中加载
自动加载
Composer会自动生成vendor/autoload.php
引入这个文件会得到自动加载支持。
autoload关键词
{
"autoload": {
"psr-4": {"Test\\": "src/"}
}
}
//PSR-4是一种自动加载标准,命名空间类后面要加双反斜杠。
包的定义
每个项目都是一个包,只要composer.json文件在目录中,那么整个目录就是一个包。当添加一个require到项目中,就是创建一个依赖于其他库的包。
name关键字,用来定义包名
{
"name": "acme/hello-world",
"require": {
"monolog/monolog": "1.0.*"
}
}
加载不同来源的包
composer支持两种方法指定包的来源:
"repositories": [
{
"type": "vcs",
"url": "https://github.com/username/hello-world"
}
],
配置中加参数或者执行命令行
composer config repositories.foo vcs http://github.com/foo/bar
gitlab使用access_token拉取代码
使用token,并定义地址
composer config repositories.test vcs https://@usernaeme:@password@git.git
实战构建
目录结构:
test/
test/src
test/src/Test
test/src/Test/test.php
test/composer.json
{
"name": "test/test",
"description": "test",
"require": {
"php": ">=5.6.0"
},
"license": "MIT",
"minimum-stability": "stable",
"prefer-stable": true,
"autoload": {
"psr-4": {
"Test\\test\\" : "src/Test/test"
}
},
"authors": [
{
"name": "test",
"email": "test@test.com"
}
]
}
远程推送到自己的gitlab仓库
配置token来访问私有的gitlab仓库,并执行composer require Test/test