Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Component/Render/MarkupInterface.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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Component/Render/MarkupInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,42 @@ +<?php + +namespace Drupal\Component\Render; + +/** + * Marks an object's __toString() method as returning markup. + * + * Objects that implement this interface will not be automatically XSS filtered + * by the render system or automatically escaped by the theme engine. + * + * If there is any risk of the object's __toString() method returning + * user-entered data that has not been filtered first, it must not be used. If + * the object that implements this does not perform automatic escaping or + * filtering itself, then it must be marked as "@internal". For example, Views + * has the internal ViewsRenderPipelineMarkup object to provide a custom render + * pipeline in order to render JSON and to fast render fields. By contrast, + * FormattableMarkup and TranslatableMarkup always sanitize their output when + * used correctly. + * + * If the object is going to be used directly in Twig templates it should + * implement \Countable so it can be used in if statements. + * + * @see \Drupal\Component\Render\MarkupTrait + * @see \Drupal\Core\Template\TwigExtension::escapeFilter() + * @see \Drupal\Component\Render\FormattableMarkup + * @see \Drupal\Core\StringTranslation\TranslatableMarkup + * @see \Drupal\views\Render\ViewsRenderPipelineMarkup + * @see twig_render_template() + * @see sanitization + * @see theme_render + */ +interface MarkupInterface extends \JsonSerializable { + + /** + * Returns markup. + * + * @return string + * The markup. + */ + public function __toString(); + +}