Mercurial > hg > isophonics-drupal-site
view core/lib/Drupal/Core/Template/AttributeValueBase.php @ 13:5fb285c0d0e3
Update Drupal core to 8.4.7 via Composer. Security update; I *think* we've
been lucky to get away with this so far, as we don't support self-registration
which seems to be used by the so-called "drupalgeddon 2" attack that 8.4.5
was vulnerable to.
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:33:26 +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(); }