Advanced Module Development

Course details

Level: 

This course teaches Object Oriented Programming and how to apply advanced programming principles in Drupal 8 or 9. Through hands-on exercises, students will build a non-trivial Drupal 8/9 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/9 module development probably look pretty familiar. If you’re looking to advance to the next level in Drupal 8/9 module development, however, you’ll need to pick up object-oriented programming and delve into the new functionality in Drupal 8/9 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/9 module.

While creating the custom module you will:

  • 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/9 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!)
Duration: 
1 day
Prerequisites: 
  • User should have admin rights on machine. Docker should be installed.
  • Proficiency in PHP is required for this course.
  • Basic Drupal module development experience is recommended.
By the end of the training you will be able to: 
  • Apply Object Oriented Programming concepts within the context of Drupal 8/9 modules
  • Become comfortable with the differences (and pros and cons) of Hooks vs Events
  • Implement advanced development techniques to best integrate your module’s functionality (user-facing & backend) with core
  • Build reusable/swappable functionality using Drupal 8/9 Services and Service Collectors
  • Understand the approaches and benefits of Dependency Injection and the Service Container in various contexts
  • Utilize the Plugin system for swappable user-facing functionality
What is provided: 
Please bring your own laptop computer.

Upcoming training events

There are currently no events available. Check back again soon, as new events are being organized all the time.