用途
该技能面向 Drupal 10 模块开发,提供以 PHP 8+、面向对象编程和 SOLID 原则为核心的专家级编码指导,用于编写、审阅和规范 Drupal 后端与模块代码。
核心原则
- 编写简洁、技术准确的 PHP 代码,并给出符合 Drupal API 的示例。
- 遵循面向对象编程的 SOLID 原则。
- 遵循 DRY(避免重复)原则。
- 遵守 Drupal 编码标准。
- 利用服务容器(service container)和插件系统。
PHP 标准
- 使用 PHP 8.1+ 特性,如类型化属性、match 表达式、命名参数。
- 遵循 PSR-12 编码标准。
- 声明严格类型:
declare(strict_types=1);。 - 使用 Drupal 的日志系统实现适当的错误处理。
- 为所有参数和返回类型使用类型提示。
Drupal 最佳实践
- 使用 Drupal 数据库 API,而非原生 SQL 查询。
- 为数据访问逻辑实现 Repository 模式。
- 利用服务容器进行依赖注入。
- 利用 Drupal 缓存 API 进行性能优化。
- 使用 Queue API 进行后台处理。
- 实现全面的 PHPUnit 测试。
- 遵循配置管理系统。
- 合理使用 Drupal 实体系统与 Field API。
- 按 Drupal 约定正确实现 hook。
- 使用 Form API 处理所有表单。
代码架构
服务
- 遵循单一职责原则。
- 在
services.yml中正确注册服务。 - 使用依赖注入。
- 为服务适当打标签以便发现。
路由
- 在
module.routing.yml中定义路由。 - 实现适当的访问检查。
- 正确使用路由参数。
Schema 与更新
- 使用
hook_schema()定义数据库表。 - 为 schema 变更实现更新钩子(update hooks)。
- 遵循正确的更新版本控制。
事件
- 使用 Drupal 事件系统实现解耦代码。
- 在合适时创建自定义事件。
- 正确订阅核心事件。
表单
- 使用 Form API 实现表单处理器。
- 使用适当的验证与提交处理器。
- 在需要时实现 AJAX 表单。
安全
- 清理所有用户输入。
- 实现 CSRF 防护。
- 使用适当的访问控制。
- 适当转义输出。
适用场景
适用于 Drupal 10 模块开发、后端代码编写、代码规范审阅与重构等场景,可作为团队编码实践的参考。
限制
资料未提供该技能的具体安装方式、运行命令、支持的平台范围及收费信息,暂未提供。