Classes, traits, and interfaces - 10.3.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 1518

Name Deprecated Object type Namespace File name Summary Direct uses Use statements Strings
ExposedFormTest class Drupal\Tests\views\Functional\Plugin core/modules/views/tests/src/Functional/Plugin/ExposedFormTest.php Tests exposed forms functionality.
ExposedFormUITest class Drupal\Tests\views_ui\Functional core/modules/views_ui/tests/src/Functional/ExposedFormUITest.php Tests exposed forms UI functionality.
ExtendableInterface interface Drupal\Core\Database\Query core/lib/Drupal/Core/Database/Query/ExtendableInterface.php Interface for extendable query objects. 1
ExtendedDiscoveryInterface interface Drupal\Tests\Component\Plugin\Discovery core/tests/Drupal/Tests/Component/Plugin/Discovery/AttributeBridgeDecoratorTest.php
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
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.
Extension class Drupal\Core\Extension core/lib/Drupal/Core/Extension/Extension.php Defines an extension (file) object. 1 43
ExtensionDiscovery class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionDiscovery.php Discovers available extensions in the filesystem. 20
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.
ExtensionExistsConstraintValidator class Drupal\Core\Extension\Plugin\Validation\Constraint core/lib/Drupal/Core/Extension/Plugin/Validation/Constraint/ExtensionExistsConstraintValidator.php Validates that a given extension exists.
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 @coversDefaultClass \Drupal\Core\Config\ExtensionInstallStorage[[api-linebreak]] @group Config
ExtensionLifecycle final class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionLifecycle.php Extension lifecycle. 19
ExtensionList abstract class Drupal\Core\Extension core/lib/Drupal/Core/Extension/ExtensionList.php Provides available extensions. 6 2
ExtensionListTest class Drupal\Tests\Core\Extension core/tests/Drupal/Tests/Core/Extension/ExtensionListTest.php @coversDefaultClass \Drupal\Core\Extension\ExtensionList[[api-linebreak]] @group Extension
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
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.
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.
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 allowed 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.
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. 5
ExtensionVersionTest class Drupal\Tests\Core\Extension core/tests/Drupal/Tests/Core/Extension/ExtensionVersionTest.php @coversDefaultClass \Drupal\Core\Extension\ExtensionVersion[[api-linebreak]]
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.
ExternalCommandRequirementsTrait

in drupal:10.2.0 and is removed from drupal:11.0.0. Use Drupal\\TestTools\\Extension\\RequiresComposerTrait instead.

trait Drupal\BuildTests\Framework core/tests/Drupal/BuildTests/Framework/ExternalCommandRequirementsTrait.php Allows test classes to require external command line applications. 1
ExternalCommandRequirementTest class Drupal\BuildTests\Framework\Tests core/tests/Drupal/BuildTests/Framework/Tests/ExternalCommandRequirementTest.php @coversDefaultClass \Drupal\BuildTests\Framework\ExternalCommandRequirementsTrait[[api-linebreak]] @group Build @group legacy
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
ExtractTest class Drupal\Tests\migrate\Unit\process core/modules/migrate/tests/src/Unit/process/ExtractTest.php @coversDefaultClass \Drupal\migrate\Plugin\migrate\process\Extract[[api-linebreak]] @group migrate
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
FactoryInterface interface Drupal\Component\Plugin\Factory core/lib/Drupal/Component/Plugin/Factory/FactoryInterface.php Factory interface implemented by all plugin factories. 2 3
FactoryTest class Drupal\KernelTests\Core\Plugin core/tests/Drupal/KernelTests/Core/Plugin/FactoryTest.php Tests that plugins are correctly instantiated.
Failing class Drupal\image_test\Plugin\ImageToolkit\Operation\test core/modules/system/tests/modules/image_test/src/Plugin/ImageToolkit/Operation/test/Failing.php An image toolkit operation that throws a \RuntimeException.
FakeAutoloader class Drupal\Tests\Core\DrupalKernel core/tests/Drupal/Tests/Core/DrupalKernel/DrupalKernelTest.php A fake autoloader for testing.
FakeLogEntries trait Drupal\Tests\dblog\Functional core/modules/dblog/tests/src/Functional/FakeLogEntries.php Provides methods to generate log entries. 1
FakeRecord class Drupal\Tests\system\Functional\Database core/modules/system/tests/src/Functional/Database/FakeRecord.php Fetches into a class. 2

Other projects


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