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.
Documenting your project
Learn how to provide documentation and help text for your project.
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
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
- Troubleshooting Composer
- Using Drupal's Composer Scaffold
- Using packages.drupal.org
Local server setup
Local server setup for Drupal.
- Windows development environments
- Mac OS development environment
- Linux 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 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 PHPStorm
- 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
Usability testing
Guidelines for conducting and recording usability tests and communicating their results. Also, the findings of previous tests.
Packaging a distribution
Packaging a distribution on Drupal.org.
Profiling Drupal
Benchmarking and profiling Drupal.
Security
Best practices for secure sites and code.
For GCI students: where to start (Google Code-In)
This is a short guide to help get GCI students started with contributing to Drupal.