abstract class AttributeValueBase in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Template/AttributeValueBase.php \Drupal\Core\Template\AttributeValueBase
- 9 core/lib/Drupal/Core/Template/AttributeValueBase.php \Drupal\Core\Template\AttributeValueBase
Defines the base class for an attribute type.
Hierarchy
- class \Drupal\Core\Template\AttributeValueBase
Expanded class hierarchy of AttributeValueBase
See also
\Drupal\Core\Template\Attribute
File
- core/
lib/ Drupal/ Core/ Template/ AttributeValueBase.php, line 12
Namespace
Drupal\Core\TemplateView source
abstract class AttributeValueBase {
/**
* Renders '$name=""' if $value is an empty string.
*
* @see \Drupal\Core\Template\AttributeValueBase::render()
*/
const RENDER_EMPTY_ATTRIBUTE = TRUE;
/**
* The value itself.
*
* @var mixed
*/
protected $value;
/**
* The name of the value.
*
* @var mixed
*/
protected $name;
/**
* Constructs a \Drupal\Core\Template\AttributeValueBase object.
*/
public function __construct($name, $value) {
$this->name = $name;
$this->value = $value;
}
/**
* Returns a string representation of the attribute.
*
* While __toString only returns the value in a string form, render()
* contains the name of the attribute as well.
*
* @return string
* The string representation of the attribute.
*/
public function render() {
$value = (string) $this;
if (isset($this->value) && static::RENDER_EMPTY_ATTRIBUTE || !empty($value)) {
return Html::escape($this->name) . '="' . $value . '"';
}
}
/**
* Returns the raw value.
*/
public function value() {
return $this->value;
}
/**
* Implements the magic __toString() method.
*/
public abstract function __toString();
}