DrupalCon's Advanced module development w/OOP

(Finally) understand dependency injection, services, plugins, scalability and more!

Friday, June 12
9:20am - 4:20pm ET

1 Day



Payment plans available


This course teaches advanced Drupal 8 module development using Object Oriented Programming in PHP. We cover what you need to know about Object Oriented Programming and how to apply advanced programming principles in Drupal 8. Through hands-on exercises, students will build a non-trivial Drupal 8 module utilizing OOP principles and newer, advanced techniques including Services & Service Collectors, Dependency Injection, custom Plugins, events, and more.

If you’re an experienced Drupal 7 module developer, the basics of Drupal 8 module development probably look pretty familiar.  If you’re looking to advance to the next level in Drupal 8 module development, however, you’ll need to pick up object-oriented programming and delve into the new functionality in Drupal 8 that OOP produces.

Advanced Module Development with OOP addresses that need. This course teaches object oriented programming principles in the context of hands-on advanced module development. You’ll learn OOP concepts and their practical use as we develop a non-trivial Drupal 8 module. 

This class is designed for:

Developers matching at least one of these:

  • People very comfortable writing PHP code (non-OOP is OK)
  • People comfortable creating Drupal 7 modules (using PHP)
  • People who have created basic Drupal 8 modules

What You'll Learn

  • Explore the major concepts of Object Oriented Programming at an accelerated pace suitable for experienced PHP developers
  • Become comfortable with the differences (and pros and cons) of Hooks vs Events
  • Build reusable/swappable functionality using Drupal 8 Services and Service Collectors
  • Utilize Dependency Injection to let the infrastructure provide system objects more efficiently 
  • Utilize the Plugin system to expose swappable user-facing functionality
  • Learn how thousands of videos (new & existing) are auto-tagged on Drupal.tv (the module we're creating will be used there!)

A Better Way To Learn

Previous graduates built debugacademy.com, debugsociety.com, and more live websites!

Our personalized approach to teaching allows us to cater to individual student strengths and interests. Students are part of a real development team working on real projects. You'll even leave with a working portfolio and applied experience on a software project led by a senior developer.


Our Classes

  • /"I think the way learning in this course is laid out is really well done"

    The structure and order of the course made a lot of sense, it was very logical, and paced in an appropriate way. As soon as I got curious about another topic, it came up later in a lesson or in the next lecture. I think the way learning in this course is laid out is really well done, and now I'm going to have a hard time following the structure of other courses if it doesn't feel just as logical. Well done. Thank you.

    J'Vaughn Johnson
    Software Engineer at Yale University
    Head-shot of J'vaughn
  • /"Being able to also work on a real project was amazing"

    I enjoyed the formal "lecture" and then the code along division of each class. Being able to also work on a real project was amazing and being part of real workflow using Git was especially helpful. Also, having Ashraf available for Zoom calls was quite nice in addition to the Slack chatroom.” Ashraf's a great instructor, he explains things in a way that make it seem more approachable.

    Jack Garratt
    Debug Academy Instructor, Drupal Developer
    Head-shot of Jack Garratt
  • /Career Change, Landed Job

    I finished the class and kept practicing and before I knew it, I landed a new job! I've been working as a Drupal Developer for about 6 months now.

    Senior Developer, Booz Allen Hamilton
  • /Interviewed with Acquia!

    By the end of the class I had worked on multiple Drupal sites and landed an interview with Acquia, who ended up hiring me as a Drupal Developer. Highly recommend it.

    Technical Architect, Acquia

Meet Your Instructor

At Debug Academy, we make sure we've got the right to give you the best education possible. Our instructors are renowned experts who lead with empathy to ensure a quality learning experience for everyone.

  • Ashraf Abed

    Ashraf Abed is a certified Drupal 7 & 8 Grand Master, and a former Technical Architect at Acquia. He is involved in numerous enterprise development projects and has been fortunate enough to experience working as the lead developer on websites like Whitehouse.Gov and other prominent Drupal websites. Teaching is his passion.



  • Jack Garratt

    Jack Garratt was a historian and an educator who earned his PHD before switching careers to Drupal development. He enrolled in Debug Academy's career-changing Drupal development course and has gone on to attain both of the Acquia Certified Front End Specialist and Acquia Certified Developer certifications.

Take the Next Step!

Let us know that you're interested in this course. We'll reach out to you and other interested individuals with next steps!