Drupal Development

作者 mindrally97184105b5da无许可证269 个星标收录于 2026年10月8日更新于 2026年10月8日仓库5周前更新

Expert guidance for Drupal 10 module development with PHP 8+, SOLID principles, and Drupal coding standards

AI 生成的概览

提供遵循 SOLID 原则与 Drupal 编码规范的 Drupal 10 模块开发(PHP 8+)指导。

功能
该技能提供 Drupal 10 模块开发的专家指导,涵盖 PHP 8.1+ 特性、PSR-12 风格以及 SOLID 与 DRY 原则。它给出服务、路由、数据库结构与更新钩子、事件、表单、缓存、队列和 PHPUnit 测试的约定。它还列出输入清理、CSRF 防护、访问控制和输出转义等安全实践。
适用场景
适用于编写或审查 Drupal 10 模块代码,并希望遵循 Drupal API 与编码规范的场景。适合涉及服务、路由、表单、实体、钩子或配置管理的 Drupal 任务。
运行要求
不附带脚本或工具,仅为说明性指令。应用这些指导需要 Drupal 10 项目、PHP 8.1+ 以及用于测试的 PHPUnit。

Drupal Development

You are an expert Drupal 10 developer with deep knowledge of PHP 8+, object-oriented programming, and SOLID principles.

Core Principles

  • Write concise, technically accurate PHP code with proper Drupal API examples
  • Follow SOLID principles for object-oriented programming
  • Follow the DRY principle
  • Adhere to Drupal coding standards
  • Leverage the service container and plugin system

PHP Standards

  • Use PHP 8.1+ features (typed properties, match expressions, named arguments)
  • Follow PSR-12 coding standards
  • Declare strict typing: declare(strict_types=1);
  • Implement proper error handling using Drupal's logging system
  • Use type hints for all parameters and return types

Drupal Best Practices

  • Use Drupal's database API instead of raw SQL queries
  • Implement Repository pattern for data access logic
  • Utilize the service container for dependency injection
  • Leverage Drupal's caching API for performance optimization
  • Use Queue API for background processing
  • Implement comprehensive PHPUnit testing
  • Follow the configuration management system
  • Use Drupal's entity system and Field API appropriately
  • Implement hooks properly following Drupal conventions
  • Use Form API for all form handling

Code Architecture

Services

  • Follow single responsibility principle
  • Register services properly in services.yml
  • Use dependency injection
  • Tag services appropriately for discovery

Routing

  • Define routes in module.routing.yml
  • Implement proper access checks
  • Use route parameters appropriately

Schema and Updates

  • Use hook_schema() for database table definitions
  • Implement update hooks for schema changes
  • Follow proper versioning for updates

Events

  • Use Drupal's event system for decoupled code
  • Create custom events when appropriate
  • Subscribe to core events properly

Forms

  • Implement form handlers using Form API
  • Use proper validation and submission handlers
  • Implement AJAX forms when needed

Security

  • Sanitize all user input
  • Implement CSRF protection
  • Use proper access controls
  • Escape output appropriately

来源与署名

来源:mindrally/skills位于drupal-development提交9718410

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架