Intermediate OOP in Drupal: Patterns, Services, Events, and Dependency Injection (morning)

Drupal Camp Asheville 2024 - July 12th-14th

Room
Other
Start Time

Topics

Presenter(s)

Jonathan Daggerhart
of
Daggerhart Lab

Architect at Daggerhart Lab

Long time Drupal and WordPress developer. Organizer of Drupal Camp Asheville.

Jonathan Daggerhart Headshot

Training Description

Drupal 8+ changes made it necessary for developers to have a stronger understanding of object oriented programming. In this training we'll discuss and demystify some of the most useful OOP concepts, patterns, and jargon as they apply to modern Drupal development.

This training will best serve developers who have some understanding of OOP, and want to learn more about the theory behind best practices seen in Drupal 8+ and Symfony. The approach of this training is a series of discussions paired with practical examples of how the topics apply to Drupal 8 module development. If things get really wild, we'll live-code some modules.

Topics include:

  • OOP Concepts: Nouns & Verbs, Composition over Inheritance, Dependency Injection, Programming to Interfaces, Cohesion and Coupling
  • Patterns: Dependency Injection Container vs Service Locator, Events (vs Hooks), Factory, Decorator
  • Drupal/Symfony: Services and Dependency Injection for Services, Forms, Blocks, Controllers

Attendees will leave this training with working understanding of many new concepts they can use to create better and more maintainable Drupal modules.

Who is your ideal audience member, the person who would get the most out of your training?

This training will best serve developers who have some understanding of OOP, and want to learn more about the theory behind best practices seen in Drupal 8+ and Symfony. The approach of this training is a series of discussions paired with practical examples of how the topics apply to Drupal 8 module development. If things get really wild, we'll live-code some modules.

What do you expect people to be able to take away from your training?

Attendees will leave this training with working understanding of many new concepts they can use to create better and more maintainable Drupal modules.

How much and what kind of technical knowledge do people need going in to your training?

Some PHP experience required.