Coding standards
The Drupal Coding Standards apply to code within Drupal and its contributed modules.
- Coding standards
- API documentation and comment standards
- API Documentation Samples
- CSS
- JavaScript
- Markdown coding standards
- Namespaces
- Naming standards for services and extending Symfony
- Object-oriented code
- PHP Exceptions
- PSR-4 namespaces and autoloading in Drupal 8
- SQL coding conventions
- Avoid "SELECT * FROM ..."
- List of SQL reserved words
- Temporary placeholders and delimiters
- Twig coding standards
- Use Drupal Unicode functions for strings
- Write E_ALL compliant code
- Drupal SimpleTest coding standards
- Drupal Markup Style Guide
- Configuration file coding standards
- Composer package naming conventions
User interface standards
User Interface standards for Drupal.
Security
Best practices for secure sites and code.
Drupal project issues
All about how the Drupal project uses "issues" to keep track of bugs and feature requests
Git version control system
How to install and use Git for version control in Drupal projects
Managing a drupal.org theme, module, or distribution project
Information on how to create and manage a module, theme, or distribution project hosted on drupal.org
Using Composer
Learn how to use Composer to manage Drupal projects and their dependencies.
- Using Composer in a Drupal project
- Composer in relation to Drush Make
- Using Composer to Install Drupal and Manage Dependencies
- Starting a Site Using Drupal Composer Project Templates
- Managing dependencies for a contributed project
- Managing dependencies for a custom project
- Preparing your site for Composer 2
- Troubleshooting Composer
- Using Drupal's Composer Scaffold
- Using Drupal's Lenient Composer Endpoint
- Using packages.drupal.org
Local server setup
Local server setup for Drupal.
- Linux development environments
- Mac OS development environment
- Windows development environments
- Virtual Machine development environments
- Docker development environments
- Copy and Run a Drupal Production Site on a USB Drive with USBWebserver
- Managing Mail Handling for Development or Testing
- Easy installation of a local development server using Drush and Aegir-up
- How to copy a site to another directory
- How to create a test site
Development tools
Commonly used tools to aid in Drupal development
- Development tools overview
- Configuring PHPStorm
- Configuring Visual Studio Code
- DrupalPod
- Configuring Dreamweaver
- Configuring Eclipse
- Eclipse
- Configuring Komodo Edit
- Configuring NetBeans
- Setting Up NetBeans, Xdebug, Drupal Development and Templates for Windows 7/XP, Acquia Dev Desktop
- Drupal mode maintained by arnested
- Configuring Sublime Text
- Configuring jEdit
- Configuring vim
- Cygwin or msysgit Command-Line Usage on Windows
- Drupal modules for Eclipse
- Drupal templates for NetBeans
- Emacs
- Simple drupal-mode.el
- Simple ~/.emacs snippet
- GNU Global setup for Drupal
- Komodo IDE X (10) Drupal 8 Setup
- Set up your browser to make your work easy
- Tracking a Drupal distribution as a vendor branch in Subversion
- XDebug + Wincachegrind on Windows
- XHProf Code Profiler
- Xdebug debugger
- using andLinux (for windows)
- Dontbug: A reverse debugger for Drupal/PHP
- Running core development checks (>= 9.2.x)
Usability testing
Guidelines for conducting and recording usability tests and communicating their results. Also, the findings of previous tests.
Profiling Drupal
Benchmarking and profiling Drupal.
Decoupled Drupal
Process and docs for how JavaScript front-ends can render a Drupal menu