Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ContentEntityBase.php

function ContentEntityBase::__get

Implements the magic method for getting object properties.

@todo A lot of code still uses non-fields (e.g. $entity->content in view builders) by reference. Clean that up.

File

core/lib/Drupal/Core/Entity/ContentEntityBase.php, line 1076

Class

ContentEntityBase
Implements Entity Field API specific enhancements to the Entity class.

Namespace

Drupal\Core\Entity

Code

public function &__get($name) {
    // If this is an entity field, handle it accordingly. We first check whether
    // a field object has been already created. If not, we create one.
    if (isset($this->fields[$name][$this->activeLangcode])) {
        return $this->fields[$name][$this->activeLangcode];
    }
    // Inline getFieldDefinition() to speed things up.
    if (!isset($this->fieldDefinitions)) {
        $this->getFieldDefinitions();
    }
    if (isset($this->fieldDefinitions[$name])) {
        $return = $this->getTranslatedField($name, $this->activeLangcode);
        return $return;
    }
    // Else directly read/write plain values. That way, non-field entity
    // properties can always be accessed directly.
    if (!isset($this->values[$name])) {
        $this->values[$name] = NULL;
    }
    return $this->values[$name];
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal