Module Development

PHP Attributes for Drupal 10, 11

PHP attributes are a native PHP language feature, introduced in PHP 8.0, that provide a way to add metadata to classes, methods, properties, and functions in PHP code.

In Drupal, this metadata is used by the plugin system to aid in the discovery and configuration of plugin instances. As a Drupal developer, it's important to understand how to recognize, read, and write PHP attributes, as you'll encounter them when working with plugins.

In this tutorial we'll look at:

  • What PHP attributes are
  • The use case for attributes in Drupal
  • An overview of the attribute syntax

By the end of this tutorial, you should understand how attributes are used in Drupal and how to write them in your own code.