SQL极简教程 · MySQL · MyBatis · JPA 技术笔记 教程 总结PHP经验分享PHP开发

构建自己的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

上一篇下一篇

猜你喜欢

热点阅读