"This is a great class, I am much more confident in my module building and have improved my coding standards... A "must do" for anyone who wants to write code that you can share with confidence."
- Adam Bauer, Summer 2022
Professional Module Development is DrupalEasy's newest long-form, best-practice focused, professional Drupal training course.
The full version of the course, approximately 90 hours of instruction, leads students through the process of learning modern Drupal module techniques and skills, setting up their development environment, running automated tests, and using modern code quality tools.
The course is presented with weekly rotating combinations of PhpStorm, Visual Studio Code, Lando, and DDEV. Developer tool lessons include details for all four of these tools.
If you're looking to become a professional Drupal module developer; there is no better way to learn the skills necessary as part of our friendly and professional DrupalEasy Learning Community.
Cost: $3,500
Special pricing is available to Drupal Career Online alumni, non-profit organizations, and groups of 3 or more students.
PMD Lite
The Lite version of the course, approximately 60 hours of instruction, provides a select portion of the curriculum for those who don't require the full menu of topics. PMD Lite runs concurrently with the full version of the course and is offered at a reduced price.
PMD Lite focuses on the core module development aspects of the class, skipping topics such as developer tools, events, custom Drush commands, and caching.
Cost: $2,500

Active 15+ year community member & leading expert in Drupal training & consulting, Mike is the architect & author of this course.
Excellent course - cannot recommend highly enough! Covers all the necessary topics in great detail.
- Ian Finlay, Summer 2022
PMD not only provides the how to, but also always strives to answer the why.
- Why are coding standards important?
- Why should I use PhpStan?
- Why do I care about dependency injection?
- Why is Xdebug better than other debugging tools?
- Why should I take the time to write automated tests?
- Why do I need to pay attention to caching?
- Why does it matter which IDE I use?
Many PMD lessons start by making the case for why the topic about to be taught will save you time, make you more efficient, or allow your code to be more flexible - real motivation for you and your fellow classmates to fully embrace the topics.
Winter 2023
- Registration payment deadline: January 27, 2023
- Class begins: January 31, 2023
- Payment deadline: February 2, 2023
- Class ends: May 11, 2023
- Lite registration deadline: February 10, 2023
- Lite class begins: February 14, 2023
- Lite payment deadline: February 16, 2023
- Lite class ends: April 13, 2023
Classes are Tuesdays and Thursdays from noon-3:30pm ET.
Summer 2023
- Registration deadline: August 4, 2023
- Class begins: August 8, 2023
- Payment deadline: August 10, 2023
- Class ends: November 16, 2023
- Lite registration deadline: August 18, 2023
- Lite class begins: August 22, 2023
- Lite registration deadline: August 24, 2023
- Lite class ends: October 19, 2023
Days/times of classes are TBD.
"Fantastic dive into the details of module development. An excellent way to develop new skills or strengthen/hone your existing module development skills.
- Marvin Crippen, Summer 2022
Syllabus overview
Part 1 - Full course participants
- Course custom module user stories
- Course site configuration
- Developer tools (phpcs, PhpStan, Xdebug)
- Integrated development environments (PhpStorm, Visual Studio Code)
- Automated testing overview
Part 2 - Full and Lite course participants
- Overview of course custom module architecture
- Starting a custom module with test-driven development (functional PhpUnit test)
- Creating a configuration form (including configuration schema)
- Creating a plugin type
- Creating a plugin
- Creating a unit test
- Creating kernel tests
Part 3 - Full and Lite course participants
- Overview of services and dependency injection
- Custom form validation and submission
- Service parameters
Part 4 - Full and Lite course participants
- Managing custom modules with Composer
- Creating a plugin with an external dependency
- Creating a kernel test
- Implementing hook_user_login() and hook_cron()
- Using the Drupal Queue API
- Creating a admin form
- Using the Drupal Batch API
Part 5 - Full course participants
- Custom events and event subscribers
- Creating a custom Drush command
- Hooks related to installing and uninstalling modules
- Overview of Drupal caching techniques
Very thorough and detailed module development course that has given me a more comprehensive understanding of module development.
- Devon Ek, Summer 2022
Prerequisites
- Experience with a local development environment (DDEV or Lando preferred)
- Experience with Composer
- Experience with Drush
- Knowledge of object-oriented PHP
- Knowledge of introductory Drupal module concepts (routes, controllers, forms, hooks)
Additional suggested prerequisites for the Lite version
- Comfort running local PhpUnit tests
- Drupal Coder
- PhpStan
- Xdebug
The best part of this course was that it gave me CONFIDENCE! I now know where to look for coding help, and can read/understand OO code. I have a better understanding of PHPStorm and how it's integral to coding PHP and Drupal.
- John Learned, Summer 2022