Drupal Development

by mindrally97184105b5daNo license269 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 5 weeks ago

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

Instructions onlySoftware Development
AI-generated overview

Guidance for building Drupal 10 modules in PHP 8+ following SOLID principles and Drupal coding standards.

What it does
This skill supplies expert guidance for Drupal 10 module development, covering PHP 8.1+ features, PSR-12 style, and SOLID and DRY principles. It gives conventions for services, routing, schema and update hooks, events, forms, caching, queues, and PHPUnit testing. It also lists security practices such as input sanitization, CSRF protection, access controls, and output escaping.
When to use it
Use it when writing or reviewing Drupal 10 module code and you want the work to follow Drupal APIs and coding standards. It suits tasks involving services, routes, forms, entities, hooks, or configuration management in Drupal.
Requirements
No scripts or tooling are bundled; it is instructions only. Applying the guidance assumes a Drupal 10 project with PHP 8.1+ and PHPUnit for testing.

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

Source and attribution

Source:mindrally/skillsindrupal-developmentat commit9718410

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal