« 前往

足球论坛 的插件机制

插件杀青流程

动手编写社区插件,您应当首先对插件杀青的流程有一个大致的剖析。

  • 熟练使用 足球论坛 社区系统后,对希望完善或补充的性格化功效举办评价,进而提出插件的功效需求。
  • 对插件做一个概括性的计划,例如:需要使用什么菜单、什么参数,配置哪些选项、数据布局如何计划、前后台杀青哪些功效等等。
  • 阅读本文档并在系统设置中现实体验 足球论坛 插件接口所杀青的功用,例如:您的插件应当如何计划本领优异的挂接到社区系统中来。插件接口能够杀青哪些功效、不能杀青哪些功效,插件为此而需要做的优化、改造和弃取。
  • 编写相应秩序代码和模板语句,杀青所需的功效并举办代码测试、兼容性测试和代码订正。
  • 假使需要公然您的插件,可以用插件导出的方式,将插件配置信息导出到一个 XML 文件中,连同相应的秩序和模板文件一同打包。同时,编写一个适合新手的插件的说明书也是必不可少的,其中包括:插件适用的 足球论坛 版本、功效概述、兼容性声明、安置步骤、使用步骤、卸载步骤等等。
  • 将插件提提供他人,或自己使用,根据使用者反应,对插件举办完善。插件杀青流程至此了局。


文件命名范例

足球论坛 服从如下的范例对秩序和模板举办命名。

  • 可以直接通过欣赏器探访的平常秩序文件,以 .php 后缀命名。
  • 被平常秩序文件引用的秩序文件,以 .inc.php 后缀命名。
  • 被平常秩序文件,或引用秩序文件引用的函数库或类库,以 .func.php(函数库) 或 .class.php(类库) 后缀命名。
  • 模板文件,以 后缀命名,插件模板文件保存于 source/plugin/identifier/template/ 目录中,手机版插件模板保存于 source/plugin/identifier/template/mobile/目录中
  • 模板语言包文件,以 .lang.php 后缀命名,插件语言包文件开发时寄存于 data/plugindata/ 目录中,文件名为identifier.lang.php。
  • 静态缓存文件,寄存于 ./data/cache 目录中,依据不同的功用举办独立的命名。
  • 使用后台数据备份功效生成的备份文件,通常以 .sql 为后缀,寄存于 data/ 目录中。
  • 有些目录中保存形式为空白的 index 文件,此类文件是为了制止 Web 办事器翻开 Directory Index 时或者孕育发生的安静问题。
  • [X2.5新增形式] 从 足球论坛 X2.5 动手,产品对数据表举办了封装,封装后的文件统一命名为 Table 类,通过“C::t(Table类文件名)”方式调用。插件如需封装自己的数据表,可将 Table 类文件寄存于 source/plugin/identifier/table/ 目录下,并以 table_表名.php 格式命名,详见。


class_core.php 模块功效白皮书

source/class/class_core.php 是 足球论坛 的通用初始化模块秩序,球迷007足球论坛。在您动手插件计划之前,其简直被所有的外部代码所引用。

  • 对不同 PHP 及操作系统环境做了判决和兼容性处分,使得 足球论坛 可以运行于各种不同配置的办事器环境下。
  • 初始化常量 IN_DISCUZ 为 TRUE,用于 include 或 require 后续秩序的判决,制止其他秩序被不法引用。
  • 读取社区秩序所在万万途径,寄存于常量 DISCUZ_ROOT 中。
  • 加载所需的根基函数库 source/function/function_core.php。
  • 通过 config/config_global.php 中提供的数据库账号信息,开发数据库毗连。足球论坛 支持数据表的前缀,如需得到表的全名,可使用“DB::table('tablename')”方式。
  • 判决用户是否登录,如登录标志 $_G['uid'] 为非 0,同时将 $_G['username'](加了 addslashes 的用户名,可用于不加修改的拔出数据库)、 $_G['member']['username'](原始的用户名,可用于页面显示)、$_G['member']['password'](用户密码的MD5串)等相应用户信息赋值,其他用户信息寄存于 $_G['member'],更多信息可通过“getuserprofile()”获取。
  • 判决用户管理权限,将管理权限标志 $_G['adminid'] 为 1~3 中间的值。0 代表平常用户;1 代表论坛管理员;2 代表超级版主;3 代表论坛版主。 将用户权限服从其所在的主用户组 ID 标志为 $_G['groupid'],相关权限从该 $_G['groupid'] 所对应的系统缓存中读出,寄存于 $_G['group']。
  • 预置读入了每个模块的各种设置变量。
  • [X2.5变动形式] $_G['username'] 将不举办 addslashes 处分。

更新时光:2012-5-3

开发文档