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