class Robot
Defines the robot entity.
The lines below, starting with '@ConfigEntityType,' are a plugin annotation. These define the entity type to the entity type manager.
The properties in the annotation are as follows:
- id: The machine name of the entity type.
- label: The human-readable label of the entity type. We pass this through the "@Translation" wrapper so that the multilingual system may translate it in the user interface.
- handlers: An array of entity handler classes, keyed by handler type.
- access: The class that is used for access checks.
- list_builder: The class that provides listings of the entity.
- form: An array of entity form classes keyed by their operation.
- entity_keys: Specifies the class properties in which unique keys are stored for this entity type. Unique keys are properties which you know will be unique, and which the entity manager can use as unique in database queries.
- links: entity URL definitions. These are mostly used for Field UI. Arbitrary keys can set here. For example, User sets cancel-form, while Node uses delete-form.
Plugin annotation
@ConfigEntityType(
id = "robot",
label = @Translation("Robot"),
admin_permission = "administer robots",
handlers = {
"access" = "Drupal\config_entity_example\RobotAccessController",
"list_builder" = "Drupal\config_entity_example\Controller\RobotListBuilder",
"form" = {
"add" = "Drupal\config_entity_example\Form\RobotAddForm",
"edit" = "Drupal\config_entity_example\Form\RobotEditForm",
"delete" = "Drupal\config_entity_example\Form\RobotDeleteForm"
}
},
entity_keys = {
"id" = "id",
"label" = "label"
},
links = {
"edit-form" = "/examples/config_entity_example/manage/{robot}",
"delete-form" = "/examples/config_entity_example/manage/{robot}/delete"
},
config_export = {
"id",
"uuid",
"label",
"floopy"
}
)
Hierarchy
- class \Drupal\Core\Entity\EntityBase implements \Drupal\Core\Entity\EntityInterface uses \Drupal\Core\Cache\RefinableCacheableDependencyTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements \Drupal\Core\Config\Entity\ConfigEntityInterface uses \Drupal\Core\Plugin\PluginDependencyTrait, \Drupal\Core\Entity\SynchronizableEntityTrait extends \Drupal\Core\Entity\EntityBase
- class \Drupal\config_entity_example\Entity\Robot extends \Drupal\Core\Config\Entity\ConfigEntityBase
- class \Drupal\Core\Config\Entity\ConfigEntityBase implements \Drupal\Core\Config\Entity\ConfigEntityInterface uses \Drupal\Core\Plugin\PluginDependencyTrait, \Drupal\Core\Entity\SynchronizableEntityTrait extends \Drupal\Core\Entity\EntityBase
Expanded class hierarchy of Robot
See also
http://previousnext.com.au/blog/understanding-drupal-8s-config-entities
Drupal\Core\Annotation\Translation
Related topics
2 files declare their use of Robot
- ConfigEntityExampleTest.php in modules/
config_entity_example/ tests/ src/ Functional/ ConfigEntityExampleTest.php - RobotReferenceTest.php in modules/
config_entity_example/ tests/ src/ Functional/ RobotReferenceTest.php
5 string references to 'Robot'
- config_entity_example.routing.yml in modules/
config_entity_example/ config_entity_example.routing.yml - modules/config_entity_example/config_entity_example.routing.yml
- config_entity_example.schema.yml in modules/
config_entity_example/ config/ schema/ config_entity_example.schema.yml - modules/config_entity_example/config/schema/config_entity_example.schema.yml
- RobotFormBase::create in modules/
config_entity_example/ src/ Form/ RobotFormBase.php - Factory method for RobotFormBase.
- RobotListBuilder::buildHeader in modules/
config_entity_example/ src/ Controller/ RobotListBuilder.php - Builds the header row for the entity listing.
- RobotReferenceTest::testEntityReference in modules/
config_entity_example/ tests/ src/ Functional/ RobotReferenceTest.php - Ensure we can use robot entities as reference fields.
File
-
modules/
config_entity_example/ src/ Entity/ Robot.php, line 65
Namespace
Drupal\config_entity_example\EntityView source
class Robot extends ConfigEntityBase {
/**
* The robot ID.
*
* @var string
*/
public $id;
/**
* The robot UUID.
*
* @var string
*/
public $uuid;
/**
* The robot label.
*
* @var string
*/
public $label;
/**
* The robot floopy flag.
*
* @var string
*/
public $floopy;
}
Members
Title Sort descending | Modifiers | Object type | Summary | Member alias | Overriden Title | Overrides |
---|---|---|---|---|---|---|
CacheableDependencyTrait::$cacheContexts | protected | property | Cache contexts. | |||
CacheableDependencyTrait::$cacheMaxAge | protected | property | Cache max-age. | |||
CacheableDependencyTrait::$cacheTags | protected | property | Cache tags. | |||
CacheableDependencyTrait::setCacheability | protected | function | Sets cacheability; useful for value object constructors. | |||
ConfigEntityBase::$isUninstalling | private | property | Whether the config is being deleted by the uninstall process. | |||
ConfigEntityBase::$langcode | protected | property | The language code of the entity's default language. | |||
ConfigEntityBase::$originalId | protected | property | The original ID of the configuration entity. | |||
ConfigEntityBase::$status | protected | property | The enabled/disabled status of the configuration entity. | 2 | ||
ConfigEntityBase::$third_party_settings | protected | property | Third party entity settings. | |||
ConfigEntityBase::$trustedData | protected | property | Trust supplied data and not use configuration schema on save. | |||
ConfigEntityBase::$_core | protected | property | Information maintained by Drupal core about configuration. | |||
ConfigEntityBase::addDependency | protected | function | Overrides \Drupal\Core\Entity\DependencyTrait:addDependency(). | |||
ConfigEntityBase::calculateDependencies | public | function | Overrides ConfigEntityInterface::calculateDependencies | 11 | ||
ConfigEntityBase::createDuplicate | public | function | Overrides EntityBase::createDuplicate | 1 | ||
ConfigEntityBase::disable | public | function | Overrides ConfigEntityInterface::disable | 1 | ||
ConfigEntityBase::enable | public | function | Overrides ConfigEntityInterface::enable | |||
ConfigEntityBase::get | public | function | Overrides ConfigEntityInterface::get | |||
ConfigEntityBase::getCacheTagsToInvalidate | public | function | Overrides EntityBase::getCacheTagsToInvalidate | 1 | ||
ConfigEntityBase::getConfigDependencyName | public | function | Overrides EntityBase::getConfigDependencyName | |||
ConfigEntityBase::getConfigManager | protected static | function | Gets the configuration manager. | |||
ConfigEntityBase::getConfigTarget | public | function | Overrides EntityBase::getConfigTarget | |||
ConfigEntityBase::getDependencies | public | function | Overrides ConfigEntityInterface::getDependencies | |||
ConfigEntityBase::getOriginalId | public | function | Overrides EntityBase::getOriginalId | |||
ConfigEntityBase::getThirdPartyProviders | public | function | Overrides ThirdPartySettingsInterface::getThirdPartyProviders | |||
ConfigEntityBase::getThirdPartySetting | public | function | Overrides ThirdPartySettingsInterface::getThirdPartySetting | |||
ConfigEntityBase::getThirdPartySettings | public | function | Overrides ThirdPartySettingsInterface::getThirdPartySettings | |||
ConfigEntityBase::getTypedConfig | protected | function | Gets the typed config manager. | |||
ConfigEntityBase::hasTrustedData | public | function | Overrides ConfigEntityInterface::hasTrustedData | |||
ConfigEntityBase::invalidateTagsOnDelete | protected static | function | Override to never invalidate the individual entities' cache tags; the config system already invalidates them. |
Overrides EntityBase::invalidateTagsOnDelete | ||
ConfigEntityBase::invalidateTagsOnSave | protected | function | Override to never invalidate the entity's cache tag; the config system already invalidates it. |
Overrides EntityBase::invalidateTagsOnSave | ||
ConfigEntityBase::isInstallable | public | function | Overrides ConfigEntityInterface::isInstallable | 2 | ||
ConfigEntityBase::isNew | public | function | Overrides Entity::isNew(). | Overrides EntityBase::isNew | ||
ConfigEntityBase::isUninstalling | public | function | Overrides ConfigEntityInterface::isUninstalling | |||
ConfigEntityBase::onDependencyRemoval | public | function | Overrides ConfigEntityInterface::onDependencyRemoval | 6 | ||
ConfigEntityBase::preDelete | public static | function | Overrides EntityBase::preDelete | 7 | ||
ConfigEntityBase::preSave | public | function | Overrides EntityBase::preSave | 9 | ||
ConfigEntityBase::save | public | function | Overrides EntityBase::save | 1 | ||
ConfigEntityBase::set | public | function | Overrides ConfigEntityInterface::set | |||
ConfigEntityBase::setOriginalId | public | function | Overrides EntityBase::setOriginalId | |||
ConfigEntityBase::setStatus | public | function | Overrides ConfigEntityInterface::setStatus | |||
ConfigEntityBase::setThirdPartySetting | public | function | Overrides ThirdPartySettingsInterface::setThirdPartySetting | |||
ConfigEntityBase::setUninstalling | public | function | ||||
ConfigEntityBase::sort | public static | function | Helper callback for uasort() to sort configuration entities by weight and label. | 5 | ||
ConfigEntityBase::status | public | function | Overrides ConfigEntityInterface::status | 2 | ||
ConfigEntityBase::toArray | public | function | Overrides EntityBase::toArray | 1 | ||
ConfigEntityBase::toUrl | public | function | Overrides EntityBase::toUrl | |||
ConfigEntityBase::trustData | public | function | Overrides ConfigEntityInterface::trustData | |||
ConfigEntityBase::unsetThirdPartySetting | public | function | Overrides ThirdPartySettingsInterface::unsetThirdPartySetting | |||
ConfigEntityBase::__construct | public | function | Overrides EntityBase::__construct | 8 | ||
ConfigEntityBase::__sleep | public | function | Overrides EntityBase::__sleep | 2 | ||
DependencySerializationTrait::$_entityStorages | protected | property | An array of entity type IDs keyed by the property name of their storages. | |||
DependencySerializationTrait::$_serviceIds | protected | property | An array of service IDs keyed by property name used for serialization. | |||
DependencySerializationTrait::__sleep | public | function | Aliased as: traitSleep | 2 | ||
DependencySerializationTrait::__wakeup | public | function | #[\ReturnTypeWillChange] | 1 | ||
DependencyTrait::$dependencies | protected | property | The object's dependencies. | |||
DependencyTrait::addDependencies | protected | function | Adds multiple dependencies. | |||
DependencyTrait::addDependency | protected | function | Adds a dependency. | Aliased as: addDependencyTrait | ||
EntityBase::$enforceIsNew | protected | property | Boolean indicating whether the entity should be forced to be new. | |||
EntityBase::$entityTypeId | protected | property | The entity type. | |||
EntityBase::$typedData | protected | property | A typed data object wrapping this entity. | |||
EntityBase::access | public | function | ||||
EntityBase::bundle | public | function | ||||
EntityBase::create | public static | function | ||||
EntityBase::delete | public | function | 1 | |||
EntityBase::enforceIsNew | public | function | ||||
EntityBase::entityTypeBundleInfo | protected | function | Gets the entity type bundle info service. | |||
EntityBase::entityTypeManager | protected | function | Gets the entity type manager. | |||
EntityBase::getCacheContexts | public | function | ||||
EntityBase::getCacheMaxAge | public | function | ||||
EntityBase::getCacheTags | public | function | ||||
EntityBase::getConfigDependencyKey | public | function | ||||
EntityBase::getEntityType | public | function | ||||
EntityBase::getEntityTypeId | public | function | ||||
EntityBase::getListCacheTagsToInvalidate | protected | function | The list cache tags to invalidate for this entity. | |||
EntityBase::getTypedData | public | function | ||||
EntityBase::getTypedDataClass | private | function | Returns the typed data class name for this entity. | |||
EntityBase::hasLinkTemplate | public | function | ||||
EntityBase::id | public | function | 8 | |||
EntityBase::label | public | function | 5 | |||
EntityBase::language | public | function | ||||
EntityBase::languageManager | protected | function | Gets the language manager. | |||
EntityBase::linkTemplates | protected | function | Gets an array link templates. | 1 | ||
EntityBase::load | public static | function | ||||
EntityBase::loadMultiple | public static | function | ||||
EntityBase::postCreate | public | function | 2 | |||
EntityBase::postDelete | public static | function | 17 | |||
EntityBase::postLoad | public static | function | 3 | |||
EntityBase::postSave | public | function | 10 | |||
EntityBase::preCreate | public static | function | 7 | |||
EntityBase::referencedEntities | public | function | ||||
EntityBase::toLink | public | function | ||||
EntityBase::uriRelationships | public | function | ||||
EntityBase::urlRouteParameters | protected | function | Gets an array of placeholders for this entity. | 1 | ||
EntityBase::uuid | public | function | ||||
EntityBase::uuidGenerator | protected | function | Gets the UUID generator. | |||
PluginDependencyTrait::calculatePluginDependencies | protected | function | Calculates and adds dependencies of a specific plugin instance. | 1 | ||
PluginDependencyTrait::getPluginDependencies | protected | function | Calculates and returns dependencies of a specific plugin instance. | |||
PluginDependencyTrait::moduleHandler | protected | function | Wraps the module handler. | |||
PluginDependencyTrait::themeHandler | protected | function | Wraps the theme handler. | |||
RefinableCacheableDependencyTrait::addCacheableDependency | public | function | 1 | |||
RefinableCacheableDependencyTrait::addCacheContexts | public | function | ||||
RefinableCacheableDependencyTrait::addCacheTags | public | function | ||||
RefinableCacheableDependencyTrait::mergeCacheMaxAge | public | function | ||||
Robot::$floopy | public | property | The robot floopy flag. | |||
Robot::$id | public | property | The robot ID. | |||
Robot::$label | public | property | The robot label. | |||
Robot::$uuid | public | property | The robot UUID. | Overrides ConfigEntityBase::$uuid | ||
SynchronizableEntityTrait::$isSyncing | protected | property | Is entity being created updated or deleted through synchronization process. | |||
SynchronizableEntityTrait::isSyncing | public | function | ||||
SynchronizableEntityTrait::setSyncing | public | function |