Course details
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!)
- 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.
- 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