Classes, traits, and interfaces - 9.5.x - drupal

Primary tabs

Introduction to classes

A lot of the PHP code in Drupal is object oriented (OO), making use of PHP classes, interfaces, and traits. See the Objected-oriented programming conventions for more information.

See also

Objected-oriented programming conventions

File

core/core.api.php, line 1523

Name Deprecated Object type Namespace File name Summary Direct uses Use statements Strings
PluginBase abstract class Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginBase.php Base class for plugins supporting metadata inspection and translation. 49 48
PluginBase abstract class Drupal\Component\Plugin core/lib/Drupal/Component/Plugin/PluginBase.php Base class for plugins wishing to support metadata inspection. 18 26
PluginBase abstract class Drupal\views\Plugin\views core/modules/views/src/Plugin/views/PluginBase.php Base class for any views plugin types. 15 20
PluginBaseTest class Drupal\Tests\views\Unit core/modules/views/tests/src/Unit/PluginBaseTest.php @coversDefaultClass \Drupal\views\Plugin\views\PluginBase[[api-linebreak]] @group views
PluginBaseTest class Drupal\Tests\views\Kernel\Plugin core/modules/views/tests/src/Kernel/Plugin/PluginBaseTest.php Tests the PluginBase class.
PluginBaseTest class Drupal\Tests\Component\Plugin core/tests/Drupal/Tests/Component/Plugin/PluginBaseTest.php @coversDefaultClass \Drupal\Component\Plugin\PluginBase[[api-linebreak]] @group Plugin
PluginDefinition class Drupal\Component\Plugin\Definition core/lib/Drupal/Component/Plugin/Definition/PluginDefinition.php Provides object-based plugin definitions. 9 9
PluginDefinitionInterface interface Drupal\Component\Plugin\Definition core/lib/Drupal/Component/Plugin/Definition/PluginDefinitionInterface.php Defines a plugin definition. 6 8
PluginDependencyTrait trait Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginDependencyTrait.php Provides a trait for calculating the dependencies of a plugin. 5
PluginDependencyTraitTest class Drupal\Tests\Core\Plugin core/tests/Drupal/Tests/Core/Plugin/PluginDependencyTraitTest.php @coversDefaultClass \Drupal\Core\Plugin\PluginDependencyTrait[[api-linebreak]] @group Plugin
PluginEventSubscriber class Drupal\migrate\Plugin core/modules/migrate/src/Plugin/PluginEventSubscriber.php Event subscriber to forward Migrate events to source and destination plugins. 2
PluginExample class Drupal\plugin_test\Plugin\Annotation core/modules/system/tests/modules/plugin_test/src/Plugin/Annotation/PluginExample.php Defines a custom Plugin annotation.
PluginException class Drupal\Component\Plugin\Exception core/lib/Drupal/Component/Plugin/Exception/PluginException.php Base class for plugin exceptions. 3 23
PluginExtended class Drupal\plugin_test_extended\Plugin\Annotation core/modules/system/tests/modules/plugin_test_extended/src/Plugin/Annotation/PluginExtended.php Defines a test annotation that extends an annotation in another namespace.
PluginFormBase abstract class Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginFormBase.php Provides a base class for plugin forms. 4 4
PluginFormFactory class Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginFormFactory.php Provides form discovery capabilities for plugins. 1 2
PluginFormFactoryInterface interface Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginFormFactoryInterface.php Provides an interface for retrieving form objects for plugins. 1 9
PluginFormFactoryTest class Drupal\Tests\Core\Plugin core/tests/Drupal/Tests/Core/Plugin/PluginFormFactoryTest.php @coversDefaultClass \Drupal\Core\Plugin\PluginFormFactory[[api-linebreak]] @group Plugin
PluginFormInterface interface Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginFormInterface.php Provides an interface for an embeddable plugin form. 22 29
PluginHelper class Drupal\Component\Plugin core/lib/Drupal/Component/Plugin/PluginHelper.php A helper class to determine if a plugin is configurable. 3
PluginID class Drupal\Component\Annotation core/lib/Drupal/Component/Annotation/PluginID.php Defines a Plugin annotation object that just contains an ID. 2 4
PluginIdTest class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/PluginIdTest.php @coversDefaultClass \Drupal\Component\Annotation\PluginId[[api-linebreak]] @group Annotation
PluginInspectionInterface interface Drupal\Component\Plugin core/lib/Drupal/Component/Plugin/PluginInspectionInterface.php Plugin interface for providing some metadata inspection. 35 44
PluginInstanceTest class Drupal\Tests\views\Kernel core/modules/views/tests/src/Kernel/PluginInstanceTest.php Tests that an instance of all views plugins can be created.
PluginKernelTestBase abstract class Drupal\Tests\views\Kernel\Plugin core/modules/views/tests/src/Kernel/Plugin/PluginKernelTestBase.php Base test class for views plugin unit tests. 3
PluginManager class Drupal\lazy_route_provider_install_test core/modules/system/tests/modules/lazy_route_provider_install_test/src/PluginManager.php 2
PluginManagerBase abstract class Drupal\Component\Plugin core/lib/Drupal/Component/Plugin/PluginManagerBase.php Base class for plugin managers. 6 10
PluginManagerBaseTest class Drupal\Tests\Component\Plugin core/tests/Drupal/Tests/Component/Plugin/PluginManagerBaseTest.php @coversDefaultClass \Drupal\Component\Plugin\PluginManagerBase[[api-linebreak]] @group Plugin
PluginManagerCacheClearer class Drupal\module_test core/modules/system/tests/modules/module_test/src/PluginManagerCacheClearer.php Helps test module uninstall. 1 2
PluginManagerDependentValidatorTrait trait Drupal\ckeditor5\Plugin\Validation\Constraint core/modules/ckeditor5/src/Plugin/Validation/Constraint/PluginManagerDependentValidatorTrait.php Common functionality for many CKEditor 5 validation constraints.
PluginManagerInterface interface Drupal\Component\Plugin core/lib/Drupal/Component/Plugin/PluginManagerInterface.php Interface implemented by plugin managers. 19 43
PluginManagerPass class Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginManagerPass.php Registers plugin managers to the plugin.cache_clearer service. 1
PluginNotFoundException class Drupal\Component\Plugin\Exception core/lib/Drupal/Component/Plugin/Exception/PluginNotFoundException.php Plugin exception class to be thrown when a plugin ID could not be found. 45
PluginSettingsBase abstract class Drupal\Core\Field core/lib/Drupal/Core/Field/PluginSettingsBase.php Base class for the Field API plugins. 3 1
PluginSettingsBaseTest class Drupal\Tests\Core\Field core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php @coversDefaultClass \Drupal\Core\Field\PluginSettingsBase[[api-linebreak]] @group Field
PluginSettingsInterface interface Drupal\Core\Field core/lib/Drupal/Core/Field/PluginSettingsInterface.php Interface definition for plugin with settings. 3 3
PluginStub class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/PluginTest.php
PluginTest class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/PluginTest.php @coversDefaultClass \Drupal\Component\Annotation\Plugin[[api-linebreak]] @group Annotation
PluginTestBase abstract class Drupal\KernelTests\Core\Plugin core/tests/Drupal/KernelTests/Core/Plugin/PluginTestBase.php Base class for Plugin API unit tests. 3
PluginTypeListTest class Drupal\Tests\views\Unit core/modules/views/tests/src/Unit/PluginTypeListTest.php Tests that list of plugin is correct.
PluginWithFormsInterface interface Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginWithFormsInterface.php Provides an interface for plugins which have forms. 3 10
PluginWithFormsTrait trait Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/PluginWithFormsTrait.php Provides a trait with typical behavior for plugins which have forms. 3
PluginWithFormsTraitTest class Drupal\Tests\Core\Plugin core/tests/Drupal/Tests/Core/Plugin/PluginWithFormsTraitTest.php @coversDefaultClass \Drupal\Core\Plugin\PluginWithFormsTrait[[api-linebreak]] @group Plugin
PluralFormula class Drupal\locale core/modules/locale/src/PluralFormula.php Manages the storage of plural formula per language in state. 2
PluralFormulaInterface interface Drupal\locale core/modules/locale/src/PluralFormulaInterface.php An interface for a service providing plural formulae. 1
PluralTranslatableMarkup class Drupal\Core\StringTranslation core/lib/Drupal/Core/StringTranslation/PluralTranslatableMarkup.php A class to hold plural translatable markup. 11
PluralTranslatableMarkupTest class Drupal\Tests\Core\StringTranslation core/tests/Drupal/Tests/Core/StringTranslation/PluralTranslatableMarkupTest.php Tests the TranslatableMarkup class.
PluralTranslation class Drupal\Core\Annotation core/lib/Drupal/Core/Annotation/PluralTranslation.php Defines an annotation object for strings that require plural forms. 1
PluralTranslationTest class Drupal\Tests\Core\Annotation core/tests/Drupal/Tests/Core/Annotation/PluralTranslationTest.php @coversDefaultClass \Drupal\Core\Annotation\PluralTranslation[[api-linebreak]] @group Annotation
PluralVariants class Drupal\config_translation\FormElement core/modules/config_translation/src/FormElement/PluralVariants.php Defines form elements for plurals in configuration translation.

Other projects


Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.