zoukankan      html  css  js  c++  java
  • composer包开发

    准备

    Composer 是 PHP 依赖管理的工具,类似于前端nodejs的npm包,Python里的pip包管理工具以及Java里的maven工具,在项目中我们会经常用到一些比较知名的扩展包,比如HTTP client使用:guzzlehttp/guzzle,记录日志使用的monolog/monolog,以及JWT扩展包firebase/php-jwt等等。当我们自己想开发一个composer包时,该怎么做呢?

    实践

    新建git仓库

    新建git仓库,可以是github或者gitee,将项目克隆到本地,创建Composer 配置文件 composer.json,可以使用命令 compser init 创建也可以手动创建,其中composer.json有哪些参数,如何编写可以参考:https://docs.phpcomposer.com/04-schema.html#composer.json,
    本文以编写一个MySQL导出数据字典功能为例,最终文件内容大体如下:

    {
        "name": "selfim/data_dictionary",
        "description": "PHP导出MySQL数据库数据字典 可以导出为Word文档和Excel表格以及Markdown、HTML格式",
        "type": "library",
        "require": {
            "php": ">=7.0"
        },
        "license": "MIT",
        "autoload": {
            "psr-4": {
                "DictionaryExport\": "src/"
            }
        },
        "authors": [
            {
                "name": "leo",
                "email": "leo2768@163.com"
            }
        ],
        "minimum-stability": "dev"
    }
    
    

    提交代码

    代码编写完成且测试没问题后提交代码到仓库,项目目录结构如下:

    .git/  
    .gitignore  
    composer.json
    LICENSE  
    README.md  
    src/
        DataDict.php 
    

    发布包到Packagist

    登录Packagist后,在Submit处检测仓库的代码,系统会根据仓库中 composer.json 文件自动设置包的相关信息。没有问题的话就上传到
    Packagist官网了

    使用composer

    composer require selfim/data_dictionary 
    

    详细的使用见README.md

    如果项目没有打tag 的要指定dev composer require selfim/data_dictionary @dev

  • 相关阅读:
    刷新验证码
    网页的超链接传递中文参数乱码问题
    Button获取Repeater一行的两个值
    <asp:FileUpload>上传一张图片并且重命名
    <asp:DropDownList数据库读取
    <asp:DropDownList>用法
    <%#Eval(" ")%>用法总结
    DropDownList1 .cs指定初始值
    redolog(未完工)
    cap理论
  • 原文地址:https://www.cnblogs.com/weblm/p/15150387.html
Copyright © 2011-2022 走看看