• 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

  • 相关阅读:
    [Python]机器学习:Tensorflow实现线性回归
    Python之Numpy:线性代数/矩阵运算
    特殊环境的安装教程[汇总]
    C/C++之编程语言学习资源
    Python之文件操作工具
    NLP之中文自然语言处理工具库:SnowNLP(情感分析/分词/自动摘要)
    网络分析:WireShark
    Linux/Window之定时任务脚本编写
    CSS之Background
    JavaScript之iframe页面间通信
  • 原文地址:https://www.cnblogs.com/weblm/p/15150387.html
Copyright © 2020-2023  润新知