多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
一个完整强大的模块,肯定会有许许多多可以自定义的配置,下面我们来详细讲解模块配置信息的各项参数。 我们知道,模块配置信息文件`info.php`是返回一个数组,里面包含了关于模块的各项信息。 | 参数 | 含义 | 类型 | 必填 | | --- | --- | --- | --- | | name | 模块名 | string | 是 | | title | 模块标题 | string | 是 | | identifier | 模块唯一标识 | string | 是 | | icon | 字体图标 | string | 否 | | description | 模块描述 | string | 是 | | author | 开发者 | string | 是 | | author\_url | 开发者网址 | string | 否 | | version | 模块版本 | string | 是 | | need\_module | 模块依赖 | array | 否 | | need\_plugin | 插件依赖 | array | 否 | | tables | 数据表 | array | 否 | | database\_prefix | 表前缀 | string | 否 | | config | 模块参数配置 | array | 否 | | access | 数据授权配置 | array | 否 | | action | 行为参数配置 | array | 否 | 下面来逐一讲解各个参数。 ## name - 模块名 由字母和下划线组成,建议全部使用小写字母,如:user、shop等等,因为系统会对应模块名和数据表名。 ## title - 模块标题 该标题会在顶部导航显示,也会在模块管理中显示。如:门户、用户、商城等。 ## identifier - 模块唯一标识 这是区分不同开发者不同模块的重要信息,格式:模块名.开发者标识.module,如:`cms.ming.module`。 ## icon - 字体图标 系统内置了字体图标:`FONT AWESOME`、`GLYPHICONS`,如填写:"fa fa-user"。 ## description - 模块描述 对模块进行简略的描述,以便使用者能快速的了解该模块的功能或者其他信息。 ## author - 开发者 模块的开发者名称 ## author\_url - 开发者网站地址 开发者网站地址,请填写完整的url地址 ## version - 模块版本号 格式采用三段式:主版本号.次版本号.修订版本号,如:1.0.1。以后的模块升级,模块版本比较都按这种格式,请务必填写正确。 ## need\_module - 模块依赖 > 格式\[\[模块名, 模块唯一标识, 依赖版本, 对比方式\]\] 有些模块需要依赖于某个或几个模块,那么就必须填写所依赖的模块信息,如: ~~~ 'need_module' => [ ['user', 'user.lwwan.module', '1.0.0'] ] ~~~ 表示模块依赖于`user`模块,并且该模块的唯一标识符是`user.lwwan.module`,因为不同开发者都可能开发名为`user`的模块,这样,模块唯一标识的作用就体现出来了。 > 其中,模块名、模块唯一标识、依赖版本这三个是必填的,如果不填写对比方式,则默认为“=”,即等于某个版本。 版本比较使用了php的`version_compare`函数,该函数支持的比较操作符有:、 gt、>=、 ge、==、 =、eq、 !=、<> 和 ne。 | 比较操作符 | 含义 | | --- | --- | | <、 lt | 小于 | | <=、 le | 小于等于 | | \>、 gt | 大于 | | \>=、 ge | 大于等于 | | \==、 =、eq | 等于 | | !=、<>、 ne | 不等于 | > 注意:此参数区分大小写,所以它的值应该是小写的,不能填写“LG”、“GT”等。 所依赖的模块需要大于某个版本 ~~~ 'need_module' => [ ['user', 'user.lwwan.module', '1.0.0', '>'] ] // 或者 'need_module' => [ ['user', 'user.lwwan.module', '1.0.0', 'gt'] ] ~~~ 依赖多个模块 ~~~ 'need_module' => [ ['user', 'user.lwwan.module', '1.0.0', '>'], ['admin', 'admin.lwwan.module', '1.0.1'] ] ~~~ ## need\_plugin - 插件依赖 > 格式\[\[插件名, 插件唯一标识, 依赖版本, 对比方式\]\] 如果您的模块依赖有些插件,则需填写插件依赖,如: ~~~ 'need_plugin' => [ ['DySms', 'dy_sms.xiaowu.addons', '1.0.0'] ] ~~~ 其他用法和模块依赖类似,这里就不赘述了。 ## tables - 数据表 如果您的模块包含了数据表,则需填写数据表名。比如,cms模块有两张表,`cms_article`、`cms_category`,则这么填写: ~~~ 'tables' => [ 'goods', 'goods_activity', ] ~~~ > 表名无需填写表前缀,系统检测的时候会自动带上系统设置的表前缀。 ## database\_prefix - 表前缀 模块的数据表名建议格式为:表前缀+模块名+控制器,比如:`lw_admin_config`,那么`database_prefix`参数则填写:`lw_`。填写了表前缀后,系统在安装模块时,会将此表前缀替换成目标系统所设置的表前缀,方便不同用户安装您的模块。 ## config - 模块参数配置 如果模块需要自定义一些配置信息,则需配置`config`参数。 它的用法和[创建表单](https://www.kancloud.cn/m22543/lwwanphp/1073099)的方法一致,可设置系统内置的10多种表单类型,比如:单选,复选、下拉、单行文本,编辑器等等。 我们在开发微信模块的时候,需要给用户设置appid等信息,那么可以这样设置: ~~~ 'config' => [ ['type'=>'text', 'name'=>'appid', 'title'=>''AppId', 'tips'=>'应用ID,登录 微信公众平台 查看'], ['type'=>'text', 'name'=>''secret', 'title'=>'AppSecret', 'tips'=>'应用密钥,登录 微信公众平台 查看'], ['type'=>'text', 'name'=>''token', 'title'=>'Token', 'tips'=>'令牌,用于接口验证,登录 微信公众平台,在【基本配置】中设置'], ['type'=>'text', 'name'=>''aeskey', 'title'=>'EncodingAESKey','tips'=> '消息加解密密钥,登录 微信公众平台,在【基本配置】中设置'], ] ~~~ > 如何获取模块的配置,请参考[方法参考](https://www.kancloud.cn/m22543/lwwanphp/1077529) ## action - 行为配置 用于定义行为规则,具体参数如下 * `module`所属模块(必须) * `name`行为标识(同个模块内,不得重复)(必须) * `title`行为名称(必须) * `remark`行为描述(必须) * `rule`行为规则 * `log`日志规则 * `status`状态(0-禁用,1-启用)默认为禁用 ~~~ 'action' => [ [ 'module' => 'cms', 'title' => '添加文章', 'remark' => '添加文章', 'name' => 'article_add', 'log' => '用户:[user|get_nickname] 在[time|format_time]添加了文章' ], [ 'module' => 'cms', 'name' => 'article_delete', 'title' => '删除文章', 'remark' => '删除文章', 'log' => '用户:[user|get_nickname] 在[time|format_time]删除了文章', 'status' => 1 ], ], ~~~