Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/Template/AttributeValueBase.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
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(); }