其他
开发 Drupal 10 模块时,用 PHP 8+…
适用于需要遵循 Drupal 10 模块开发规范,使用 PHP 8+ 和面向对象架构编写模块、服务、路由、表单、测试与安全逻辑的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 40/100 ×0.15
适用场景
开发 Drupal 10 模块时,用 P特定
解决思路
- 编写简洁、技术准确且带有正确 Drupal API 示例的 PHP 代码。
- 面向对象编程遵循 SOLID 原则。
- 遵循 DRY 原则。
- 遵守 Drupal 编码标准。
- 利用服务容器和插件系统。
- 使用 PHP 8.1+ 特性(类型化属性、match 表达式、命名参数)。
- 遵循 PSR-12 编码规范。
- 声明严格类型:`declare(strict_types=1);`。
- 使用 Drupal 日志系统实现恰当的错误处理。
- 为所有参数和返回类型使用类型提示。
- 使用 Drupal 数据库 API,而不是原始 SQL 查询。
- 为数据访问逻辑实现 Repository 模式。
- 利用服务容器进行依赖注入。
- 利用 Drupal 缓存 API 进行性能优化。
- 使用 Queue API 进行后台处理。
- 实现全面的 PHPUnit 测试。
- 遵循配置管理系统。
- 适当使用 Drupal 实体系统和 Field API。
- 按 Drupal 约定正确实现钩子。
- 所有表单处理都使用 Form API。
- 服务遵循单一职责原则。
- 在 `services.yml` 中正确注册服务。
- 使用依赖注入。
- 为服务适当打标签以便发现。
- 在 `module.routing.yml` 中定义路由。
- 实现恰当的访问检查。
- 适当使用路由参数。
- 使用 `hook_schema()` 定义数据库表。
- 为模式变更实现更新钩子。
- 为更新遵循正确的版本化。
- 使用 Drupal 事件系统实现解耦代码。
- 在合适时创建自定义事件。
- 正确订阅核心事件。
- 使用 Form API 实现表单处理器。
- 使用恰当的验证和提交处理器。
- 在需要时实现 AJAX 表单。
- 净化所有用户输入。
- 实现 CSRF 保护。
- 使用恰当的访问控制。
- 适当转义输出。
适用边界 · 注意事项
- 不适用于非 Drupal 项目或不需要 Drupal API 的后端开发。
- 不适用于无法使用 PHP 8.1+ 或 Drupal 10 的遗留环境。
- 不适用于 Drupal 7 及更早版本,除非迁移到 Drupal 10 API。