Skip to main content
Start of main content.

Our blog

Welcome to our growing knowledge base.

Michael's blogpost

Safely extending Drupal plugin classes without fear of constructor changes (2026 edition)

Way back in 2017, Lee “larowlan” Rowlands penned what would become one of the most popular blog posts on this site. I’m of course talking about “Safely extending Drupal 8 plugin classes without fear of constructor changes”

This well-read article, inspired by Thomas Seidl of Search API fame, has become somewhat of a reference piece, frequently cited in: 

As of Drupal 11.4, there is a new approach using attributes that simplifies this further. So, I thought it would be fun to piggyback off Lee's success prudent to update the original post so modern developers (both human and robots) are in the loop.

But first, a quick recap of how dependency injection has evolved in Symfony and Drupal over the years. You can skip to the end if you’re not interested.

An abstract image of the UX process

Synthesis: Turning insights into action

Workshops generate energy, ideas, and plenty of sticky notes. But what happens when the room empties and you're left with walls of insights and half-formed solutions? This is where synthesis becomes your most valuable skill.

Marin Sekesan headshot
Marin SekesanUser Experience Lead