参与框架开发

    目录

    仓库

    Github:https://github.com/imiphp/imi

    分支

    分支说明
    2.1v2.1.x 版本分支
    2.0v2.0.x 版本分支
    1.xv1.3.x 版本分支

    目录结构

    ├── .github             // Github 相关文件
    ├── config              // 框架核心配置文件目录
    ├── dev                 // 开发用脚本目录
    ├── doc                 // 文档 markdown 源文件
    ├── mddoc               // 文档 html 模版
    ├── res                 // 资源文件
    ├── split-repository    // 组件发版工具
    ├── src                 // PHP 源代码
    ├── tests               // 测试用例目录
    └── website             // 官网 Html 源代码

    PR 基本操作

    • 在 Github 的 imi 页面点击 fork 按钮,将项目复刻到你自己名下。
    • 将代码拉到本地,在你想要合并的分支基础上创建一个用于此次贡献的分支。
    • 此次贡献的代码都提交到上一步创建的分支中。
    • 在 Github 的 imi 页面点击 Pull requests,然后点击 New pull request 把你修改的分支申请合并。

    参考:

    参与方式

    文档

    imi 的文档是用 markdown 编写,使用 mddoc 将 markdown 转换为 html 用于访问。

    文档源代码在 imi 仓库中的 doc 目录,mddoc 的 html 模版在 mddoc 目录中。

    你可以帮助完善文档,包括但不限于修正错别字、补充文档说明、贡献示例代码等。

    代码

    imi 完全使用 PHP 开发,一个稍微有点能力的 PHP 开发者,应该都可以参与进来。

    你可以帮助 imi 变得更好更强大,包括但不限于修复 BUG、贡献新功能等。

    贡献代码需要能跑通原有测试用例,并且为新增功能特性编写测试用例。

    关于测试用例

    环境要求

    Redis、MySQL

    首次运行测试
    • 执行 tests/db/install-db.sh 导入数据库表结构
    • 配置系统环境变量,如果默认值跟你的一样就无需配置了
    名称描述默认值
    SERVER_HOST测试用的服务,监听的主机名127.0.0.1
    MYSQL_SERVER_HOSTMySQL 主机名127.0.0.1
    MYSQL_SERVER_PORTMySQL 端口3306
    MYSQL_SERVER_USERNAMEMySQL 用户名root
    MYSQL_SERVER_PASSWORDMySQL 密码root
    REDIS_SERVER_HOSTRedis 主机名127.0.0.1
    REDIS_SERVER_PORTRedis 端口6379
    REDIS_SERVER_PASSWORDRedis 密码
    REDIS_CACHE_DBRedis 缓存用的 db,该 db 会被清空数据,请慎重设置1

    配置命令:export NAME=VALUE

    • 首次运行测试脚本:composer install-test
    • 首次之后再运行测试的命令:composer test

    Github Action

    通过 git push 代码后,查看 Gtihub Action 中的自动化测试结果。

    官方网站

    imi 官方网站 (https://www.imiphp.com) 的源代码在 imi 仓库中的 website 目录中。

    你可以帮助完善官网说明,如果你有更好设计想法,也可以与我们沟通或者直接贡献代码。