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

Expanded class hierarchy of Robot

See also

http://previousnext.com.au/blog/understanding-drupal-8s-config-entities

Annotations

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\Entity
View 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