function TypedData::getPropertyPath

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/TypedData/TypedData.php \Drupal\Core\TypedData\TypedData::getPropertyPath()
  2. 8.9.x core/lib/Drupal/Core/TypedData/TypedData.php \Drupal\Core\TypedData\TypedData::getPropertyPath()
  3. 10 core/lib/Drupal/Core/TypedData/TypedData.php \Drupal\Core\TypedData\TypedData::getPropertyPath()

Returns the property path of the data.

The trail of property names relative to the root of the typed data tree, separated by dots; e.g. 'field_text.0.format'.

Return value

string The property path relative to the root of the typed tree, or an empty string if this is the root.

Overrides TypedDataInterface::getPropertyPath

File

core/lib/Drupal/Core/TypedData/TypedData.php, line 173

Class

TypedData
The abstract base class for typed data.

Namespace

Drupal\Core\TypedData

Code

public function getPropertyPath() {
  if (isset($this->parent)) {
    // The property path of this data object is the parent's path appended
    // by this object's name.
    $prefix = $this->parent
      ->getPropertyPath();
    // Variables in double quotes used to leverage fast string concatenation.
    // In PHP 7+ concatenation with variable inside string is the fastest.
    // @see https://blog.blackfire.io/php-7-performance-improvements-encapsed-strings-optimization.html
    // This is being done because the code can run in the critical path.
    return $prefix !== '' ? "{$prefix}.{$this->name}" : $this->name;
  }
  elseif (isset($this->name)) {
    return $this->name;
  }
  return '';
}

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