woocommerce/.ai/skills/woocommerce-backend-dev/zh-cn/SKILL.md
2026-04-15 10:18:01 +08:00

48 lines
No EOL
2.7 KiB
Markdown

---
name: woocommerce-backend-dev
description: Add or modify WooCommerce backend PHP code following project conventions. Use when creating new classes, methods, hooks, or modifying existing backend code. **MUST be invoked before writing any PHP unit tests.**
---
# WooCommerce 后端开发
本技能提供根据项目标准和约定开发 WooCommerce 后端 PHP 代码的指导。
## 何时使用此技能
**在以下情况前务必调用此技能:**
- 撰写新的 PHP 单元测试(`*Test.php` 文件)
- 创建新的 PHP 类
- 修改现有的后端 PHP 代码
- 添加钩子或过滤器
## 说明
添加或修改后端 PHP 代码时,请遵循 WooCommerce 项目约定:
1. **创建新的代码结构**:有关创建类和组织文件的约定,请参阅 [file-entities.md](.ai/skills/woocommerce-backend-dev/zh-cn/file-entities)(但新的单元测试文件请参阅 [unit-tests.md](.ai/skills/woocommerce-backend-dev/zh-cn/unit-tests))。
2. **命名约定**:有关方法、变量和参数的命名,请参阅 [code-entities.md](.ai/skills/woocommerce-backend-dev/zh-cn/code-entities)
3. **编码风格**:有关通用编码标准和最佳实践,请参阅 [coding-conventions.md](.ai/skills/woocommerce-backend-dev/zh-cn/coding-conventions)
4. **类型注解**:有关 PHPStan 感知的 PHPDoc 注解,请参阅 [type-annotations.md](.ai/skills/woocommerce-backend-dev/zh-cn/type-annotations)
5. **使用钩子**:有关钩子回调约定和文档,请参阅 [hooks.md](.ai/skills/woocommerce-backend-dev/zh-cn/hooks)
6. **依赖注入**:有关 DI 容器使用,请参阅 [dependency-injection.md](.ai/skills/woocommerce-backend-dev/zh-cn/dependency-injection)
7. **数据完整性**:有关执行 CRUD 操作时确保数据完整性,请参阅 [data-integrity.md](.ai/skills/woocommerce-backend-dev/zh-cn/data-integrity)
8. **撰写测试**:有关单元测试约定,请参阅 [unit-tests.md](.ai/skills/woocommerce-backend-dev/zh-cn/unit-tests)
## 核心原则
- 始终遵循 WordPress 编码标准
- 使用类方法而非独立函数
- 默认将新的内部类放置在 `src/Internal/` 目录中
- 使用带有 `Automattic\WooCommerce` 命名空间的 PSR-4 自动加载
- 为新功能编写全面的单元测试
- 提交更改前运行代码检查和测试
## 版本信息
确定 `@since` 注解中使用的下一个 WooCommerce 版本号:
- 读取 **trunk 分支**`includes/class-woocommerce.php` 中的 `$version` 属性
- 如果存在 `-dev` 后缀,请移除
- 示例:如果 trunk 显示 `10.4.0-dev`,则使用 `@since 10.4.0`
- 注意:当审查针对 trunk 的 PR 时,即使 trunk 中的版本相对于已发布版本看起来是"未来"版本,它也是正确的