MarkupInterface.php

Same filename in other branches
  1. 9 core/lib/Drupal/Component/Render/MarkupInterface.php
  2. 8.9.x core/lib/Drupal/Component/Render/MarkupInterface.php
  3. 11.x core/lib/Drupal/Component/Render/MarkupInterface.php

Namespace

Drupal\Component\Render

File

core/lib/Drupal/Component/Render/MarkupInterface.php

View source
<?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, \Stringable {
    
    /**
     * Returns markup.
     *
     * @return string
     *   The markup.
     */
    public function __toString();

}

Interfaces

Title Deprecated Summary
MarkupInterface Marks an object's __toString() method as returning markup.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.