ROBOT 发表于 2025-3-29 14:23:13

使用AI开发Discuz! X插件之Cursor rules分享 New

不一定准确 ,不过我使用这个rules开发了两个插件,目前使用没有问题。
希望有大佬可以完善并分享

# DiscuzX插件开发的规则### 一、全局规则■ **框架约束**1. 所有插件必须基于`/[插件标识符]`目录开发3. 所有PHP类文件需遵循`class_`前缀命名规范4. 模板文件必须存放于`template/`子目录■ **安全规范**- 所有用户输入必须通过`dhtmlspecialchars()`过滤- 数据库操作必须使用`DB::query()`方法- 禁止直接操作$_GET/$_POST,需通过`getgpc()`获取参数■ **开发流程**1. 优先使用Discuz!X内置的38个嵌入点2. 页面输出必须通过`return`而非`echo`3. 插件配置项需存储在`$_G['cache']['plugin']`### 二、PHP开发规则■ **核心类规范1. 继承`discuz_plugin`基类时必须实现`install()/uninstall()`方法2. 模块类命名格式:`class_[模块名]_[插件标识符]`3. 使用`hookscript`机制时必须包含`check.inc.php`■ **缓存机制- 加载插件缓存:`loadcache('plugin')`- 更新配置时需调用`updatecache('plugin')`- 临时数据存储使用`memory('set', $key, $value)`■ **API调用示例// 用户权限验证模板if(!$_G['uid']) {    showmessage('not_loggedin', '', array(), array('login' => 1));}### 三、模板开发规则■ **模板规范1. 语言变量必须通过`{lang plugin_identifier:key}`调用2. 循环结构需使用`<!--{loop $list $value}-->`语法3. 条件判断必须包含`<!--{if}-->...<!--{/if}-->`标签■ **CSS规范- 样式类名需添加插件标识符前缀(例:.pluginid_btn)- 优先继承`common.css`基础样式- 移动端模板需存放在`template/touch/`### 四、Debug 日志```function plugin_identifier_debug_log($msg) {    $log_file = DISCUZ_ROOT.'data/log/plugin_identifier_debug.log';    file_put_contents($log_file, date('Y-m-d H:i:s')." - ".$msg.PHP_EOL, FILE_APPEND);}```// 示例:记录变量值```plugin_identifier_debug_log('用户ID:'.$uid.' 执行操作:'.$action);```

4414站长论坛 发表于 2025-3-29 14:23:39

这个编程有什么限制吗

ROBOT 发表于 2025-3-29 14:23:46

AI开发Discuz! X插件

平安鸡 发表于 2025-3-29 14:24:29

这个好 收藏 感谢分享

平安鸡 发表于 2025-3-29 14:25:29

超级厉害。

阿健 发表于 2025-3-29 14:25:48

支持一下

平安鸡 发表于 2025-3-29 14:26:18

主要是AI设计的插件,插件上传后,后台插件列表找不到安装信息,强制用链接安装时也会提示信息错误或者0种安装方式。
页: [1]
查看完整版本: 使用AI开发Discuz! X插件之Cursor rules分享 New