在Hcms中,所有的模块都是存放在 Application目录下的,每一个 Application 下的文件夹都是一个模块。

一、模块目录

模块 - 图1

二、模块安装

模块安装只要执行 php bin/hyperf.php hcms:install {module_name} module_name为安装的模块名称。执行安装系统回到模块的Install目录下做对应的操作

  • Migration 数据库创建,创建模块中涉及到的数据库表
  • access.php 菜单和权限,创建模块中需要使用的菜单和权限
  • setting.php 配置,创建模块中需要用到的配置项
  • config.php 模块配置
    • require:安装依赖,这里规定所需的hcms版本、composer依赖和依赖的模块
    • version:当前模块的版本

      2.1 重复安装

      目前安装是会建表、添加权限和配置,如果执行重复安装命令,这些信息存在的情况不会进行覆盖。所以就算你执行多次命令,他只会对新增的内容进行添加, 对已有的内容会忽略(并不会进行覆盖更新。)

      2.2 卸载

      目前不支持命令执行卸载。建议自己手动删除模块,对于模块涉及到的表、权限和配置,不影响开发,不去管也没有问题。

      2.3 远程安装

      执行安装模块命令时,如果你本地没有模块文件夹,系统会自动询问你是否通过远程下载方式安装。远程下载目前是到github的 https://github.com/hcms-module 查找。【注意,有可能github访问网络的原因,可能会导致下载失败,可以自己通过浏览器访问下载。】
      image.png
      image.png

      三、模块开发

      3.1 执行创建命令

      使用 hcms:c命令,参数是模块的名称。
      1. bin/hyperf.php hcms:c test

      3.2 模块目录

      执行创建命令成功之后,系统会自动生成Controller 和 Install目录。也同时创建了access.php 和 setting.php 文件。
      image.png

      3.3 创建数据迁移文件

      同样执行创建命令,后台加上 -m 参数就可以创建表迁移文件
      1. php bin/hyperf.php hcms:c test -m test_user