Plugins, Composer and PHP7 OH MY!

Drupal 8 has a plugin system that is used through out both core and contrib, but it exists because a similar system was nowhere to be found in the greater PHP ecosystem. Drupal 8's plugin system was built to be shared with the rest of the PHP community, but delivering on this goal has been difficult. Since then, PHP's capabilites have grown significantly, so a new Plugin system has been built from scratch leveraging PHP7. It takes a "lessons learned" approach to shortcomings of Drupal 8's plugin system and adopts many of the new language features found in PHP 5.6 and 7 including:

  • scalar type hints
  • typed returns
  • variadics

Come dig into some serious PHP & plugin-theory as we discuss the benefits of adopting these new language features and compare Drupal 8's plugins with this new system.

Stuff you should expect to see:
  • Numerous working examples of the plugin system in the wild
  • A breakdown of how to do configuration
  • Using composer to bring in additional plugins
  • An honest evaluation of missing parts when compared to Drupal 8

The PHP Plugin tool can be found here:
The Plugins Annotation utility can be found here:

Session Track


Experience level


Drupal Version

Drupal 9

Session Time Slot(s)

04/26/2017 - 14:15 to 04/26/2017 - 15:15