Atribute construite prin intermediul Atribut clasa sunt scăpate.
The Atribut::__toString() codul este următorul.
$retur = '';
/** @var \Drupal\Core\Template\AttributeValueBase $value */
foreach ($this->storage as $name => $value) {
  $rendat = $valoare->render();
  dacă ($rendat) {
    $retur .= ' ' . $rendat;
  }
}
return $retur;
Într-o clasă care se extinde AttributeValueBase, de exemplu AttributeString, face() conţine următorul cod.
valoare = (șir) $this;
if (isset($aceasta->valoare) && static::RENDER_EMPTY_ATTRIBUTE || !empty($valoare)) {
  returnează Html::escape($this->name) . '="' . $valoare . '"';
}
AttributeString::__toString() conţine următorul cod.
return Html::escape($aceasta->valoare);
Html::escape() este apelat pentru numele atributului și valoarea acestuia. De aceea, un atribut construit folosind cod similar cu următoarele ghilimele simple din numele și valoarea atributului sunt scăpate.
$atribute = nou Atribut(array());
$attributes['id'] = 'șosete';
$attributes['style'] = 'culoare-fond:alb';
ecou '<pisica' . $atribute . '>';
AttributeArray::__toString() folosește următorul cod.
// Filtrați toate valorile goale înainte de imprimare.
$this->value = array_unique(array_filter($this->value));
return Html::escape(implode(' ', $aceasta->valoare));
Aceasta înseamnă că pentru un atribut construit folosind cod similar celui următor, valoarea atributului este scăpată.
$atribute = Atribut nou();
$atribute['clasa'] = array();
$attributes['class'][] = 'cat';