Drupal Module Development (2 Days)

Actions Panel

Drupal Module Development (2 Days)

Learn the fundamentals of Drupal 9 module development.

When and where

Date and time



Refund Policy

Contact the organizer to request a refund.
Eventbrite's fee is nonrefundable.

About this event

This two-day hands-on course introduces students to concepts and practices for extending the functionality of Drupal’s core and contributed modules through custom module development. Participants are required to have prior experience with Drupal site building and an understanding of basic programming concepts or should have previously completed the Introduction to Drupal and Site Building courses.

Learning Objectives

  • Describe Drupal's hook system and increasingly object-based development architecture
  • Articulate the construction of Drupal modules
  • Insert and extract data using Drupal's core database abstraction layer.
  • Employ and articulate best practices, conventions and coding standards.

Target Experience Level

This two-day course is for experienced Drupal site builders ready to take the next step to build custom functionality in a website and PHP or other programmers new to Drupal development.

Course Outline

Drupal Module Development Fundamentals

  • About the Drupal Framework
  • The Page Call Process
  • Object Oriented Programming
  • MVC, Controllers, and Routing
  • Services and the Service Container
  • Hooks and Plugins in Drupal

Creating Your First Module

  • Module Naming, Location, & Basic Requirements
  • Create mymodule
  • Implementing a Hook in MyModule
  • Add Pages and Menu Items

Building a Fully Functional RSVP List Module

  • Module Requirements
  • Create a Form
  • The Install File
  • Database Integration I
  • Permissions
  • Create the Block
  • Build Administrative Settings Page
  • Reporting Results
  • Altering the Node Edit Form
  • Database Integration II

Automated Testing

  • About the Simpletest Module
  • Writing Functional Tests with Simpletest
  • About PHPUnit
  • Writing Unit Tests for Classes with PHPUnit
  • Drush and Drush Console
  • Different Tools for Differing Needs
  • Downloading and Installing Drush
  • Using Drush
  • Downloading and Installing Drupal Console
  • Using Drupal Console

How Would You Do That in Drupal?

  • Real-Life Design Considerations