Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Template/AttributeBoolean.php \Drupal\Core\Template\AttributeBoolean
  2. 9 core/lib/Drupal/Core/Template/AttributeBoolean.php \Drupal\Core\Template\AttributeBoolean

A class that defines a type of boolean HTML attribute.

Boolean HTML attributes are not attributes with values of TRUE/FALSE. They are attributes that if they exist in the tag, they are TRUE. Examples include selected, disabled, checked, readonly.

To set a boolean attribute on the Attribute class, set it to TRUE.

$attributes = new Attribute();
$attributes['disabled'] = TRUE;
echo '<select' . $attributes . '/>';

// produces <select disabled>;
$attributes['disabled'] = FALSE;
echo '<select' . $attributes . '/>';

// produces <select>;

Hierarchy

Expanded class hierarchy of AttributeBoolean

See also

\Drupal\Core\Template\Attribute

File

core/lib/Drupal/Core/Template/AttributeBoolean.php, line 27

Namespace

Drupal\Core\Template
View source
class AttributeBoolean extends AttributeValueBase {

  /**
   * {@inheritdoc}
   */
  public function render() {
    return $this
      ->__toString();
  }

  /**
   * Implements the magic __toString() method.
   */
  public function __toString() {
    return $this->value === FALSE ? '' : Html::escape($this->name);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AttributeBoolean::render public function Returns a string representation of the attribute. Overrides AttributeValueBase::render
AttributeBoolean::__toString public function Implements the magic __toString() method. Overrides AttributeValueBase::__toString
AttributeValueBase::$name protected property The name of the value.
AttributeValueBase::$value protected property The value itself.
AttributeValueBase::RENDER_EMPTY_ATTRIBUTE constant Renders '$name=""' if $value is an empty string. 1
AttributeValueBase::value public function Returns the raw value.
AttributeValueBase::__construct public function Constructs a \Drupal\Core\Template\AttributeValueBase object.