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 原則。它說明服務、路由、資料庫結構與更新 hook、事件、表單、快取、佇列和 PHPUnit 測試的慣例。它也列出輸入清理、CSRF 防護、存取控制和輸出轉義等安全實務。
適用情境
適用於撰寫或審查 Drupal 10 模組程式碼,並希望遵循 Drupal API 與編碼規範的情境。適合涉及服務、路由、表單、實體、hook 或組態管理的 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 從公開儲存庫中收錄這些內容。

檢舉或申請下架