Classes, traits, and interfaces - main - 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 1529

Name Deprecated Object type Namespace File name Summary Direct uses Use statements Strings
ExtendableInterface interface Drupal\Core\Database\Query core/lib/Drupal/Core/Database/Query/ExtendableInterface.php Interface for extendable query objects. 1 1
ExtendedDiscoveryInterface interface Drupal\Tests\Component\Plugin\Discovery core/tests/Drupal/Tests/Component/Plugin/Discovery/AttributeBridgeDecoratorTest.php An interface for testing the Discovery interface.
ExtendedForm class Drupal\install_form_test\Form core/modules/system/tests/modules/install_form_test/src/Form/ExtendedForm.php Extends the site setting form. 1
ExtendFriendsTest class Drupal\Tests\Core\Foo core/tests/PHPStan/fixtures/test-methods-with-metadata.php
ExtendingNonInstalledClass class Drupal\plugin_test\Plugin\plugin_test\fruit core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/fruit/ExtendingNonInstalledClass.php Plugin annotation @Plugin( id = "extending_non_installed_class", label = "A plugin whose class is extending from a non-installed module class", color = "pink", )
ExtendingNonInstalledClass class Drupal\plugin_test\Plugin\plugin_test\custom_annotation core/modules/system/tests/modules/plugin_test/src/Plugin/plugin_test/custom_annotation/ExtendingNonInstalledClass.php This class does not have a plugin attribute or plugin annotation on purpose.
Extension class Drupal\system\Plugin\migrate\source core/modules/system/src/Plugin/migrate/source/Extension.php Drupal 6/7 system data for a legacy extension source from database. 1
Extension class Drupal\Core\Extension core/lib/Drupal/Core/Extension/Extension.php Defines an extension (file) object. 2 50
ExtensionAvailableConstraint class Drupal\Core\Extension\Plugin\Validation\Constraint core/lib/Drupal/Core/Extension/Plugin/Validation/Constraint/ExtensionAvailableConstraint.php Check if an extension (module, theme, or profile) is available. 1
ExtensionAvailableConstraintValidator class Drupal\Core\Extension\Plugin\Validation\Constraint core/lib/Drupal/Core/Extension/Plugin/Validation/Constraint/ExtensionAvailableConstraintValidator.php Validates that a given extension exists. 1
ExtensionAvailableConstraintValidatorTest class Drupal\KernelTests\Core\Extension core/tests/Drupal/KernelTests/Core/Extension/ExtensionAvailableConstraintValidatorTest.php Tests the ExtensionAvailable constraint validator.
ExtensionDiscovery class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionDiscovery.php Discovers available extensions in the filesystem. 24
ExtensionDiscoveryTest class Drupal\Tests\Core\Extension core/tests/Drupal/Tests/Core/Extension/ExtensionDiscoveryTest.php Tests discovery of extensions.
ExtensionExistsConstraint class Drupal\Core\Extension\Plugin\Validation\Constraint core/lib/Drupal/Core/Extension/Plugin/Validation/Constraint/ExtensionExistsConstraint.php Checks that the value is the name of an installed extension. 1
ExtensionExistsConstraintValidator class Drupal\Core\Extension\Plugin\Validation\Constraint core/lib/Drupal/Core/Extension/Plugin/Validation/Constraint/ExtensionExistsConstraintValidator.php Validates that a given extension exists. 1
ExtensionExistsConstraintValidatorTest class Drupal\KernelTests\Core\Extension core/tests/Drupal/KernelTests/Core/Extension/ExtensionExistsConstraintValidatorTest.php Tests the ExtensionExists constraint validator.
ExtensionInstallStorage class Drupal\Core\Config core/lib/Drupal/Core/Config/ExtensionInstallStorage.php Storage to access configuration and schema in enabled extensions. 2 2
ExtensionInstallStorageTest class Drupal\Tests\Core\Config core/tests/Drupal/Tests/Core/Config/ExtensionInstallStorageTest.php Tests Drupal\Core\Config\ExtensionInstallStorage.
ExtensionLifecycle final class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionLifecycle.php Extension lifecycle. 21
ExtensionList abstract class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionList.php Provides available extensions. 6 3
ExtensionListTest class Drupal\Tests\Core\Extension core/tests/Drupal/Tests/Core/Extension/ExtensionListTest.php Tests Drupal\Core\Extension\ExtensionList.
ExtensionListTestTrait trait Drupal\Tests core/tests/Drupal/Tests/ExtensionListTestTrait.php Provides extension list methods. 2
ExtensionListTrait trait Drupal\Core\Installer core/lib/Drupal/Core/Installer/ExtensionListTrait.php Provides common functionality for the extension list classes.
ExtensionMimeTypeGuesser class Drupal\Core\File\MimeType core/lib/Drupal/Core/File/MimeType/ExtensionMimeTypeGuesser.php Makes possible to guess the MIME type of a file using its extension. 2 2
ExtensionMimeTypeGuesser class Drupal\Core\ProxyClass\File\MimeType core/lib/Drupal/Core/ProxyClass/File/MimeType/ExtensionMimeTypeGuesser.php Provides a proxy class for \Drupal\Core\File\MimeType\ExtensionMimeTypeGuesser.
ExtensionMimeTypeGuesserDeprecationTest class Drupal\KernelTests\Core\File core/tests/Drupal/KernelTests/Core/File/ExtensionMimeTypeGuesserDeprecationTest.php Tests that deprecation messages are raised for deprecations.
ExtensionMimeTypeGuesserLegacyTest class Drupal\KernelTests\Core\File\MimeType core/tests/Drupal/KernelTests/Core/File/MimeType/ExtensionMimeTypeGuesserLegacyTest.php Tests filename mimetype detection.
ExtensionMimeTypeGuesserTest class Drupal\KernelTests\Core\File\MimeType core/tests/Drupal/KernelTests/Core/File/MimeType/ExtensionMimeTypeGuesserTest.php Tests filename mimetype detection.
ExtensionNameConstraint class Drupal\Core\Extension\Plugin\Validation\Constraint core/lib/Drupal/Core/Extension/Plugin/Validation/Constraint/ExtensionNameConstraint.php Checks that the value is a valid extension name. 1
ExtensionNameConstraintTest class Drupal\KernelTests\Core\Extension core/tests/Drupal/KernelTests/Core/Extension/ExtensionNameConstraintTest.php Tests the ExtensionName constraint.
ExtensionNameLengthException class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionNameLengthException.php Exception thrown when the extension's name length exceeds the maximum. 2
ExtensionNameReservedException class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionNameReservedException.php Exception thrown when the extension's name is already reserved. 2
ExtensionPathResolver class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionPathResolver.php Factory for getting extension lists by type. 5 2
ExtensionPathResolverTest class Drupal\KernelTests\Core\Bootstrap core/tests/Drupal/KernelTests/Core/Bootstrap/ExtensionPathResolverTest.php Tests that extension path resolver works correctly.
ExtensionSerializationTest class Drupal\Tests\Core\Extension core/tests/Drupal/Tests/Core/Extension/ExtensionSerializationTest.php Tests Extension serialization.
ExtensionStreamBase abstract class Drupal\Core\StreamWrapper core/lib/Drupal/Core/StreamWrapper/ExtensionStreamBase.php Defines a base stream wrapper implementation for extension assets. 2 1
ExtensionStreamTest class Drupal\KernelTests\Core\StreamWrapper core/tests/Drupal/KernelTests/Core/StreamWrapper/ExtensionStreamTest.php Tests extension stream wrappers.
ExtensionTest class Drupal\Tests\system\Kernel\Plugin\migrate\source core/modules/system/tests/src/Kernel/Plugin/migrate/source/ExtensionTest.php Tests legacy extension source plugin.
ExtensionVersion final class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionVersion.php Provides an extension version value object. 6
ExtensionVersionTest class Drupal\Tests\Core\Extension core/tests/Drupal/Tests/Core/Extension/ExtensionVersionTest.php Tests Drupal\Core\Extension\ExtensionVersion.
ExtensionViewsFieldTest class Drupal\Tests\file\Kernel\Views core/modules/file/tests/src/Kernel/Views/ExtensionViewsFieldTest.php Tests the core Drupal\file\Plugin\views\field\Extension handler.
ExternalFormUrlTest class Drupal\KernelTests\Core\Form core/tests/Drupal/KernelTests/Core/Form/ExternalFormUrlTest.php Ensures that form actions can't be tricked into sending to external URLs.
ExternalNormalizersTest class Drupal\Tests\jsonapi\Functional core/modules/jsonapi/tests/src/Functional/ExternalNormalizersTest.php Asserts external normalizers are handled as expected by the JSON:API module.
Extract class Drupal\migrate\Plugin\migrate\process core/modules/migrate/src/Plugin/migrate/process/Extract.php Extracts a value from an array. 1
ExtractorTest class Drupal\Tests\Core\Theme\Icon\Plugin core/tests/Drupal/Tests/Core/Theme/Icon/Plugin/ExtractorTest.php Tests icon extractor with base and finder base plugin.
ExtractTest class Drupal\Tests\migrate\Unit\process core/modules/migrate/tests/src/Unit/process/ExtractTest.php Tests Drupal\migrate\Plugin\migrate\process\Extract.
ExtractTest class Drupal\Tests\migrate\Kernel\process core/modules/migrate/tests/src/Kernel/process/ExtractTest.php Tests the extract process plugin.
ExtraFieldBlock class Drupal\layout_builder\Plugin\Block core/modules/layout_builder/src/Plugin/Block/ExtraFieldBlock.php Provides a block that renders an extra field from an entity. 1
ExtraFieldBlockCacheTagInvalidator class Drupal\layout_builder\Cache core/modules/layout_builder/src/Cache/ExtraFieldBlockCacheTagInvalidator.php Provides a cache tag invalidator that clears the block cache. 2
ExtraFieldBlockDeriver class Drupal\layout_builder\Plugin\Derivative core/modules/layout_builder/src/Plugin/Derivative/ExtraFieldBlockDeriver.php Provides entity field block definitions for every field. 1

Other projects


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