Classes, traits, and interfaces - 11.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 1519

Name Deprecated Object type Namespace File name Summary Direct uses Use statements Strings
ComplexDataConstraint class Drupal\Core\Validation\Plugin\Validation\Constraint core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/ComplexDataConstraint.php Complex data constraint.
ComplexDataConstraintValidator class Drupal\Core\Validation\Plugin\Validation\Constraint core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/ComplexDataConstraintValidator.php Validates complex data.
ComplexDataConstraintValidatorTest class Drupal\KernelTests\Core\TypedData core/tests/Drupal/KernelTests/Core/TypedData/ComplexDataConstraintValidatorTest.php Tests ComplexData validation with both valid and invalid values.
ComplexDataDefinitionBase abstract class Drupal\Core\TypedData core/lib/Drupal/Core/TypedData/ComplexDataDefinitionBase.php Base class for complex data definitions. 2 1
ComplexDataDefinitionInterface interface Drupal\Core\TypedData core/lib/Drupal/Core/TypedData/ComplexDataDefinitionInterface.php Interface for complex data definitions. 3 8
ComplexDataInterface interface Drupal\Core\TypedData core/lib/Drupal/Core/TypedData/ComplexDataInterface.php Interface for complex data; i.e. data containing named and typed properties. 4 15
ComplexDataNormalizer class Drupal\serialization\Normalizer core/modules/serialization/src/Normalizer/ComplexDataNormalizer.php Converts the Drupal entity object structures to a normalized array. 3 1 2
ComplexDataNormalizerTest class Drupal\Tests\serialization\Unit\Normalizer core/modules/serialization/tests/src/Unit/Normalizer/ComplexDataNormalizerTest.php Tests Drupal\serialization\Normalizer\ComplexDataNormalizer.
ComplexTestType class Drupal\workflow_type_test\Plugin\WorkflowType core/modules/workflows/tests/modules/workflow_type_test/src/Plugin/WorkflowType/ComplexTestType.php Test workflow type. 1
ComplexTestTypeConfigureForm class Drupal\workflow_type_test\Form core/modules/workflows/tests/modules/workflow_type_test/src/Form/ComplexTestTypeConfigureForm.php Form to configure the complex test workflow type.
ComplexTestTypeStateForm class Drupal\workflow_type_test\Form core/modules/workflows/tests/modules/workflow_type_test/src/Form/ComplexTestTypeStateForm.php Form to configure the complex test workflow states.
ComplexTestTypeTransitionForm class Drupal\workflow_type_test\Form core/modules/workflows/tests/modules/workflow_type_test/src/Form/ComplexTestTypeTransitionForm.php Form to configure the complex test workflow states.
ComplexWorkflowTypeTest class Drupal\Tests\workflows\Kernel core/modules/workflows/tests/src/Kernel/ComplexWorkflowTypeTest.php Workflow entity tests that require modules or storage.
Component class Drupal\Core\Plugin core/lib/Drupal/Core/Plugin/Component.php Simple value object that contains information about the component. 7
ComponentElement class Drupal\Core\Render\Element core/lib/Drupal/Core/Render/Element/ComponentElement.php Provides a Single-Directory Component render element.
ComponentEntityDisplayBase abstract class Drupal\migrate\Plugin\migrate\destination core/modules/migrate/src/Plugin/migrate/destination/ComponentEntityDisplayBase.php Provides a destination plugin for migrating entity display components. 3 2
ComponentGenerator class Drupal\Composer\Generator composer/Generator/ComponentGenerator.php Reconciles Drupal component dependencies with core. 1
ComponentInFormTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentInFormTest.php Tests the correct rendering of components in form.
ComponentInvalidReplacementTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentInvalidReplacementTest.php Tests invalid render options for components.
ComponentKernelTestBase abstract class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentKernelTestBase.php Defines a base class for component kernel tests. 8
ComponentLoader class Drupal\Core\Template\Loader core/lib/Drupal/Core/Template/Loader/ComponentLoader.php Lets you load templates using the component ID. 1
ComponentLoaderTest class Drupal\Tests\Core\Theme\Component core/tests/Drupal/Tests/Core/Theme/Component/ComponentLoaderTest.php Unit tests for the component loader class.
ComponentMetadata class Drupal\Core\Theme\Component core/lib/Drupal/Core/Theme/Component/ComponentMetadata.php Component metadata. 2
ComponentMetadataTest class Drupal\Tests\Core\Theme\Component core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php Unit tests for the component metadata class.
ComponentNegotiator class Drupal\Core\Theme core/lib/Drupal/Core/Theme/ComponentNegotiator.php Determines which component should be used. 2
ComponentNegotiatorTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentNegotiatorTest.php Tests the component negotiator.
ComponentNodeVisitor class Drupal\Core\Template core/lib/Drupal/Core/Template/ComponentNodeVisitor.php Provides a ComponentNodeVisitor to change the generated parse-tree. 1
ComponentNodeVisitorTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentNodeVisitorTest.php Tests the node visitor.
ComponentNotFoundException class Drupal\Core\Render\Component\Exception core/lib/Drupal/Core/Render/Component/Exception/ComponentNotFoundException.php Raised when a component cannot be found. 5
ComponentPluginManager class Drupal\Core\Theme core/lib/Drupal/Core/Theme/ComponentPluginManager.php Defines a plugin manager to deal with components. 8 2
ComponentPluginManagerCachedDiscoveryTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentPluginManagerCachedDiscoveryTest.php Tests discovery of components in a theme being installed or uninstalled.
ComponentPluginManagerTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentPluginManagerTest.php Tests the component plugin manager.
ComponentRenderInvalidTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentRenderInvalidTest.php Tests invalid render options for components.
ComponentRenderTest class Drupal\KernelTests\Components core/tests/Drupal/KernelTests/Components/ComponentRenderTest.php Tests the correct rendering of components.
ComponentRenderTest final class Drupal\KernelTests\Component core/tests/Drupal/KernelTests/Component/ComponentRenderTest.php Tests the correct rendering of components.
ComponentRenderTest class Drupal\FunctionalTests\Components core/tests/Drupal/FunctionalTests/Components/ComponentRenderTest.php Tests the correct rendering of components.
ComponentRenderTest class Drupal\FunctionalJavascriptTests\Components core/tests/Drupal/FunctionalJavascriptTests/Components/ComponentRenderTest.php Tests the correct rendering of components.
ComponentsIsolatedBuildTest class Drupal\BuildTests\Composer\Component core/tests/Drupal/BuildTests/Composer/Component/ComponentsIsolatedBuildTest.php Try to install dependencies per component, using Composer.
ComponentsTaggedReleaseTest class Drupal\BuildTests\Composer\Component core/tests/Drupal/BuildTests/Composer/Component/ComponentsTaggedReleaseTest.php Demonstrate that the Component generator responds to release tagging.
ComponentsTwigExtension final class Drupal\Core\Template core/lib/Drupal/Core/Template/ComponentsTwigExtension.php The twig extension so Drupal can recognize the new code.
ComponentTestDoesNotExtendCoreTest final class Drupal\PHPStan\Rules core/tests/PHPStan/Rules/ComponentTestDoesNotExtendCoreTest.php Ensures that no component tests are extending a core test base class. 1
ComponentTestDoesNotExtendCoreTestTest class Drupal\PHPStan\Tests core/tests/PHPStan/tests/ComponentTestDoesNotExtendCoreTestTest.php Tests ComponentTestDoesNotExtendCoreTest rule.
ComponentValidator class Drupal\Core\Theme\Component core/lib/Drupal/Core/Theme/Component/ComponentValidator.php Validates a component based on its definition and the component schema. 3
ComponentValidatorTest class Drupal\Tests\Core\Theme\Component core/tests/Drupal/Tests/Core/Theme/Component/ComponentValidatorTest.php Unit tests for the component validation.
Composer class Drupal\Core\Composer core/lib/Drupal/Core/Composer/Composer.php Provides static functions for composer script events.
Composer class Drupal\Composer composer/Composer.php Provides static functions for composer script events. 9
ComposerBuildTestBase abstract class Drupal\BuildTests\Composer core/tests/Drupal/BuildTests/Composer/ComposerBuildTestBase.php Base class for Composer build tests. 3 3
ComposerHookTest class Drupal\Tests\Composer\Plugin\Scaffold\Functional core/tests/Drupal/Tests/Composer/Plugin/Scaffold/Functional/ComposerHookTest.php Tests Composer Hooks that run scaffold operations.
ComposerInspector class Drupal\package_manager core/modules/package_manager/src/ComposerInspector.php Defines a class to get information from Composer. 22
ComposerInspectorTest class Drupal\Tests\package_manager\Kernel core/modules/package_manager/tests/src/Kernel/ComposerInspectorTest.php Tests Drupal\package_manager\ComposerInspector.

Other projects


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