Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/Template/AttributeValueBase.php @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
<?php namespace Drupal\Core\Template; use Drupal\Component\Utility\Html; /** * Defines the base class for an attribute type. * * @see \Drupal\Core\Template\Attribute */ 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. */ abstract public function __toString(); }