Advanced module development with OOP

This course teaches Drupal 7 module & PHP developers what they 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. 

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 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!)

Learning Objectives

  • Apply Object Oriented Programming concepts within the context of Drupal 8 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 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

Prerequisites

The only "hard" requirement is being very comfortable writing non-OOP PHP code. A nice to have is also having experience with basic to intermediate module development in Drupal 8.

Target Audience

Any of the following:

  • 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

Dev Environments

Windows, Mac, Linux are all OK. Instructors will work to set environments up in the weeks before the class.

Additional Requirements

User should have admin rights on machine. Docker should be installed.

Training Company

Debug Academy

Training Team

- Private group -

Experience Level

Advanced

Drupal Version