构建自己的Composer包

作者: 怀老师 | 来源:发表于2020-05-22 23:58 被阅读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

    相关文章

      网友评论

        本文标题:构建自己的Composer包

        本文链接:https://www.haomeiwen.com/subject/yaphahtx.html