二次开发 · 更新于 2026-10-13 08:53:01

二次开发规范

数据库

  • 全部使用 PDO 预处理语句,杜绝 SQL 注入
  • 新增数据表建议以 nq_ 业务前缀命名(建表时自行加前缀即可)

安全

  • 输出一律使用 e() 转义,防止 XSS
  • 表单必须包含 csrf_field() 并在处理前调用 csrf_check()
  • 密码使用 password_hash() / password_verify()

支付接入

订单系统内置演示支付(demo 模式)。接入微信支付/支付宝时,在 ShopController::pay() 中将演示逻辑替换为真实支付下单,并在回调中执行:

// 标记订单已支付
DB::update orders set status='paid', paid_at=now()
// 触发钩子,供插件响应支付事件
$params = ['order' => $order];
hook('order_paid', $params);