public ConfigEntityBase::toArray()
Gets an array of all property values.
Return value
mixed[] An array of property values, keyed by property name.
Overrides Entity::toArray
File
- core/lib/Drupal/Core/Config/Entity/ConfigEntityBase.php, line 265
Class
- ConfigEntityBase
- Defines a base configuration entity class.
Namespace
Drupal\Core\Config\Entity
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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 ; } |
Please login to continue.