本站公收录50年前的影片
 找回密码
 立即注册
快捷导航
搜索
回复: 0

使用AI开发Discuz! X插件之Cursor rules分享【转】

[复制链接]
发表于 2025-3-28 21:12:13 | 显示全部楼层 |阅读模式
不一定准确 ,不过我使用这个rules开发了两个插件,目前使用没有问题。
希望有大佬可以完善并分享

  1. # DiscuzX插件开发的规则

  2. ### 一、全局规则
  3. ■ **框架约束**
  4. 1. 所有插件必须基于`/[插件标识符]`目录开发
  5. 3. 所有PHP类文件需遵循`class_`前缀命名规范
  6. 4. 模板文件必须存放于`template/`子目录

  7. ■ **安全规范**
  8. - 所有用户输入必须通过`dhtmlspecialchars()`过滤
  9. - 数据库操作必须使用`DB::query()`方法
  10. - 禁止直接操作$_GET/$_POST,需通过`getgpc()`获取参数

  11. ■ **开发流程**
  12. 1. 优先使用Discuz!X内置的38个嵌入点
  13. 2. 页面输出必须通过`return`而非`echo`
  14. 3. 插件配置项需存储在`$_G['cache']['plugin']`


  15. ### 二、PHP开发规则
  16. ■ **核心类规范
  17. 1. 继承`discuz_plugin`基类时必须实现`install()/uninstall()`方法
  18. 2. 模块类命名格式:`class_[模块名]_[插件标识符]`
  19. 3. 使用`hookscript`机制时必须包含`check.inc.php`

  20. ■ **缓存机制
  21. - 加载插件缓存:`loadcache('plugin')`
  22. - 更新配置时需调用`updatecache('plugin')`
  23. - 临时数据存储使用`memory('set', $key, $value)`

  24. ■ **API调用示例
  25. // 用户权限验证模板
  26. if(!$_G['uid']) {
  27.     showmessage('not_loggedin', '', array(), array('login' => 1));
  28. }


  29. ### 三、模板开发规则

  30. ■ **模板规范
  31. 1. 语言变量必须通过`{lang plugin_identifier:key}`调用
  32. 2. 循环结构需使用`<!--{loop $list $value}-->`语法
  33. 3. 条件判断必须包含`<!--{if}-->...<!--{/if}-->`标签

  34. ■ **CSS规范
  35. - 样式类名需添加插件标识符前缀(例:.pluginid_btn)
  36. - 优先继承`common.css`基础样式
  37. - 移动端模板需存放在`template/touch/`

  38. ### 四、Debug 日志
  39. ```
  40. function plugin_identifier_debug_log($msg) {
  41.     $log_file = DISCUZ_ROOT.'data/log/plugin_identifier_debug.log';
  42.     file_put_contents($log_file, date('Y-m-d H:i:s')." - ".$msg.PHP_EOL, FILE_APPEND);
  43. }
  44. ```
  45. // 示例:记录变量值
  46. ```
  47. plugin_identifier_debug_log('用户ID:'.$uid.' 执行操作:'.$action);
  48. ```


复制代码




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|联系管理|老影迷

GMT+8, 2025-9-21 05:29 , Processed in 0.092446 second(s), 25 queries .

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表