Introduction to Drupal 8 Module Development

Module development for Drupal is more powerful than ever with Drupal 8. Object-orientation, the maturity of Drupal's various APIs, Drupal 8's new underlying Symfony (and other) components, and the emergence of Drupal Console means that developing for Drupal 8 requires some new knowledge for existing Drupal developers. This workshop is designed to introduce existing Drupal developers as well as (non-Drupal) PHP developers to some of the techniques and concepts for Drupal 8 module development. The workshop includes an overview of some of the main concepts and tools as well as several hands-on module development exercises designed to build knowledge and confidence.

This workshop has been presented at multiple DrupalCons and Drupal camps around the United States. Students will be provided with a PDF of the curriculum and access to screencasts demonstrating the main lessons of the workshop. 

Learning Objectives

  • An understanding of the basic concepts that comprise Drupal 8 module development.
  • An understanding of the basic tools that can be used to create Drupal 8 modules including a code editor and Drupal Console.
  • The creation of a simple "Hello, world" custom module. 
  • The creation of an "HTML5 Audio" module that provides a custom field formatter for fields of type "link".
  • The creation of a "User blocker" module that provides a mechanism for privileged users to block site users by username.


  • Some experience with PHP.
  • Some familiarity with object-oriented concepts.
  • Experience working in the command-line interface.
  • Experience working in a local *AMP development environment. 
  • Experience with a code editor.
  • Existing knowledge of Drupal APIs is helpful, but not necessary.
  • An up-and-running local *AMP stack with a fresh Drupal 8 install.

Target Audience

Drupal 7 and PHP developers experienced with PHP, the command-line interface, Git, and working in a local *AMP development environment.

Dev Environments

Any local development environment that runs Drupal 8, with PHP 7, and Drupal Console.

Training Company


Training Team

- Private group -

Experience Level