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
AliasPathProcessor class Drupal\path_alias\PathProcessor core/modules/path_alias/src/PathProcessor/AliasPathProcessor.php Processes the inbound path using path alias lookups. 3 2
AliasPathProcessorTest class Drupal\Tests\path_alias\Unit\PathProcessor core/modules/path_alias/tests/src/Unit/PathProcessor/AliasPathProcessorTest.php @coversDefaultClass \Drupal\path_alias\PathProcessor\AliasPathProcessor @group PathProcessor @group path_alias
AliasRepository class Drupal\path_alias core/modules/path_alias/src/AliasRepository.php Provides the default path alias lookup operations. 1 1 2
AliasRepositoryInterface interface Drupal\path_alias core/modules/path_alias/src/AliasRepositoryInterface.php Provides an interface for path alias lookup operations. 1 1
AliasTest class Drupal\Tests\path_alias\Kernel core/modules/path_alias/tests/src/Kernel/AliasTest.php Tests path alias CRUD and lookup functionality.
AliasWhitelist class Drupal\path_alias core/modules/path_alias/src/AliasWhitelist.php Extends CacheCollector to build the path alias whitelist over time. 1 2
AliasWhitelistInterface interface Drupal\path_alias core/modules/path_alias/src/AliasWhitelistInterface.php Cache the alias whitelist. 1
Alignment class Drupal\ckeditor5\Plugin\CKEditor5Plugin core/modules/ckeditor5/src/Plugin/CKEditor5Plugin/Alignment.php CKEditor 5 Alignment plugin. 1 1
AlignmentPluginTest class Drupal\Tests\ckeditor5\Unit core/modules/ckeditor5/tests/src/Unit/AlignmentPluginTest.php @coversDefaultClass \Drupal\ckeditor5\Plugin\CKEditor5Plugin\Alignment @group ckeditor5 @internal
AllowedPackages class Drupal\Composer\Plugin\Scaffold composer/Plugin/Scaffold/AllowedPackages.php Determine recursively which packages have been allowed to scaffold files.
AllowedValuesConstraint class Drupal\Core\Validation\Plugin\Validation\Constraint core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraint.php Checks for the value being allowed. 1
AllowedValuesConstraintValidator class Drupal\Core\Validation\Plugin\Validation\Constraint core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraintValidator.php Validates the AllowedValues constraint.
AllowedValuesConstraintValidatorTest class Drupal\KernelTests\Core\TypedData core/tests/Drupal/KernelTests/Core/TypedData/AllowedValuesConstraintValidatorTest.php Tests AllowedValues validation constraint with both valid and invalid values.
AllowToolbarPath class Drupal\toolbar\PageCache core/modules/toolbar/src/PageCache/AllowToolbarPath.php Cache policy for the toolbar page cache service. 1 2
AllowToolbarPathTest class Drupal\Tests\toolbar\Unit\PageCache core/modules/toolbar/tests/src/Unit/PageCache/AllowToolbarPathTest.php @coversDefaultClass \Drupal\toolbar\PageCache\AllowToolbarPath @group toolbar
AlreadyInstalledException class Drupal\Core\Installer\Exception core/lib/Drupal/Core/Installer/Exception/AlreadyInstalledException.php Exception thrown if Drupal is installed already. 1
AlterableInterface interface Drupal\Core\Database\Query core/lib/Drupal/Core/Database/Query/AlterableInterface.php Interface for a query that can be manipulated via an alter hook. 2 13
AlterTest class Drupal\KernelTests\Core\Database core/tests/Drupal/KernelTests/Core/Database/AlterTest.php Tests the hook_query_alter capabilities of the Select builder.
AlterTest class Drupal\Tests\system\Functional\Form core/modules/system/tests/src/Functional/Form/AlterTest.php Tests hook_form_alter() and hook_form_FORM_ID_alter().
AlterTest class Drupal\Tests\system\Functional\Common core/modules/system/tests/src/Functional/Common/AlterTest.php Tests alteration of arguments passed to \Drupal::moduleHandler->alter().
AmbiguousBundleClassException class Drupal\Core\Entity\Exception core/lib/Drupal/Core/Entity/Exception/AmbiguousBundleClassException.php Exception thrown if a bundle class is defined for multiple bundles. 3
AmbiguousEntityClassException class Drupal\Core\Entity\Exception core/lib/Drupal/Core/Entity/Exception/AmbiguousEntityClassException.php Exception thrown if multiple entity types exist for an entity class. 1 2
Analyze class Drupal\views_ui\Form\Ajax core/modules/views_ui/src/Form/Ajax/Analyze.php Displays analysis information for a view.
Analyzer class Drupal\views core/modules/views/src/Analyzer.php View analyzer plugin manager. 3 2
AnalyzeTest class Drupal\Tests\views_ui\Functional core/modules/views_ui/tests/src/Functional/AnalyzeTest.php Tests the views analyze system.
AnnotatedClassDiscovery class Drupal\Core\Plugin\Discovery core/lib/Drupal/Core/Plugin/Discovery/AnnotatedClassDiscovery.php Defines a discovery mechanism to find annotated plugins in PSR-4 namespaces. 1 9
AnnotatedClassDiscovery class Drupal\Component\Annotation\Plugin\Discovery core/lib/Drupal/Component/Annotation/Plugin/Discovery/AnnotatedClassDiscovery.php Defines a discovery mechanism to find annotated plugins in PSR-4 namespaces. 1 4
AnnotatedClassDiscoveryAutomatedProviders class Drupal\migrate\Plugin\Discovery core/modules/migrate/src/Plugin/Discovery/AnnotatedClassDiscoveryAutomatedProviders.php Determines providers based on a class's and its parent's namespaces. 1
AnnotatedClassDiscoveryCachedTest class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/AnnotatedClassDiscoveryCachedTest.php @coversDefaultClass \Drupal\Component\Annotation\Plugin\Discovery\AnnotatedClassDiscovery @group Annotation @runTestsInSeparateProcesses
AnnotatedClassDiscoveryTest class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/AnnotatedClassDiscoveryTest.php @coversDefaultClass \Drupal\Component\Annotation\Plugin\Discovery\AnnotatedClassDiscovery @group Annotation @runTestsInSeparateProcesses
AnnotatedClassDiscoveryTest class Drupal\Tests\Component\Plugin\Discovery core/tests/Drupal/Tests/Component/Plugin/Discovery/AnnotatedClassDiscoveryTest.php @coversDefaultClass \Drupal\Component\Annotation\Plugin\Discovery\AnnotatedClassDiscovery
AnnotatedClassDiscoveryTest class Drupal\KernelTests\Core\Plugin\Discovery core/tests/Drupal/KernelTests/Core/Plugin/Discovery/AnnotatedClassDiscoveryTest.php Tests that plugins are correctly discovered using annotated classes.
AnnotationBase abstract class Drupal\Component\Annotation core/lib/Drupal/Component/Annotation/AnnotationBase.php Provides a base class for classed annotations. 5 4
AnnotationBaseStub class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/AnnotationBaseTest.php
AnnotationBaseTest class Drupal\Tests\Component\Annotation core/tests/Drupal/Tests/Component/Annotation/AnnotationBaseTest.php @coversDefaultClass \Drupal\Component\Annotation\AnnotationBase @group Annotation
AnnotationBridgeDecorator class Drupal\Component\Annotation\Plugin\Discovery core/lib/Drupal/Component/Annotation/Plugin/Discovery/AnnotationBridgeDecorator.php Ensures that all definitions are run through the annotation process. 3
AnnotationBridgeDecoratorTest class Drupal\Tests\Component\Annotation\Plugin\Discovery core/tests/Drupal/Tests/Component/Annotation/Plugin/Discovery/AnnotationBridgeDecoratorTest.php @coversDefaultClass \Drupal\Component\Annotation\Plugin\Discovery\AnnotationBridgeDecorator @group Plugin
AnnotationEnum final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationEnum.php Plugin annotation @Target("ALL");
AnnotationEnumInvalid final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationEnumInvalid.php Plugin annotation @Target("ALL");
AnnotationEnumLiteral final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationEnumLiteral.php Plugin annotation @Target("ALL"); 1
AnnotationEnumLiteralInvalid final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationEnumLiteralInvalid.php Plugin annotation @Target("ALL");
AnnotationExtendsAnnotationTargetAll class Drupal\Tests\Component\Annotation\Doctrine core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php
AnnotationInterface interface Drupal\Component\Annotation core/lib/Drupal/Component/Annotation/AnnotationInterface.php Defines a common interface for classed annotations. 3 4
AnnotationTargetAll class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationTargetAll.php Plugin annotation @Target("ALL"); 1 1
AnnotationTargetAnnotation final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationTargetAnnotation.php Plugin annotation @Target({ "ANNOTATION" }) 1
AnnotationTargetClass final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationTargetClass.php Plugin annotation @Target("CLASS"); 3
AnnotationTargetPropertyMethod final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationTargetPropertyMethod.php Plugin annotation @Target({ "METHOD", "PROPERTY" }) 2
AnnotationWithAttributes final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationWithAttributes.php Plugin annotation @Target("ALL") @Attributes({ @Attribute("mixed", type = "mixed"), @Attribute("boolean", type = "boolean"), @Attribute("bool", type = "bool"), @Attribute("float", …
AnnotationWithConstants final class Drupal\Tests\Component\Annotation\Doctrine\Fixtures core/tests/Drupal/Tests/Component/Annotation/Doctrine/Fixtures/AnnotationWithConstants.php Plugin annotation @Target("ALL"); 1
AnnotationWithInvalidTargetDeclaration class Drupal\Tests\Component\Annotation\Doctrine core/tests/Drupal/Tests/Component/Annotation/Doctrine/DocParserTest.php Plugin annotation @Target("Foo");

Other projects


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