public ConfigEntityBase::toArray()
Gets an array of all property values.
mixed[] An array of property values, keyed by property name.
Overrides Entity::toArray
public function toArray() { $properties = array(); /** @var \Drupal\Core\Config\Entity\ConfigEntityTypeInterface $entity_type */ $entity_type = $this->getEntityType(); $properties_to_export = $entity_type->getPropertiesToExport(); if (empty($properties_to_export)) { $config_name = $entity_type->getConfigPrefix() . '.' . $this->id(); $definition = $this->getTypedConfig()->getDefinition($config_name); if (!isset($definition['mapping'])) { throw new SchemaIncompleteException("Incomplete or missing schema for $config_name"); } $properties_to_export = array_combine(array_keys($definition['mapping']), array_keys($definition['mapping'])); } $id_key = $entity_type->getKey('id'); foreach ($properties_to_export as $property_name => $export_name) { // Special handling for IDs so that computed compound IDs work. // @see \Drupal\Core\Entity\EntityDisplayBase::id() if ($property_name == $id_key) { $properties[$export_name] = $this->id(); } else { $properties[$export_name] = $this->get($property_name); } } if (empty($this->third_party_settings)) { unset($properties['third_party_settings']); } if (empty($this->_core)) { unset($properties['_core']); } return $properties; }
© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Config!Entity!ConfigEntityBase.php/function/ConfigEntityBase::toArray/8.1.x