46 lines
1.5 KiB
PHP
46 lines
1.5 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @file
|
|
* Contains \Drupal\Component\Utility\SafeStringInterface.
|
|
*/
|
|
|
|
namespace Drupal\Component\Utility;
|
|
|
|
/**
|
|
* Marks an object's __toString() method as returning safe markup.
|
|
*
|
|
* All objects that implement this interface should be marked @internal.
|
|
*
|
|
* This interface should only be used on objects that emit known safe strings
|
|
* from their __toString() method. If there is any risk of the method returning
|
|
* user-entered data that has not been filtered first, it must not be used.
|
|
*
|
|
* If the object is going to be used directly in Twig templates it should
|
|
* implement \Countable so it can be used in if statements.
|
|
*
|
|
* @internal
|
|
* This interface is marked as internal because it should only be used by
|
|
* objects used during rendering. This interface should be used by modules if
|
|
* they interrupt the render pipeline and explicitly deal with SafeString
|
|
* objects created by the render system. Additionally, if a module reuses the
|
|
* regular render pipeline internally and passes processed data into it. For
|
|
* example, Views implements a custom render pipeline in order to render JSON
|
|
* and to fast render fields.
|
|
*
|
|
* @see \Drupal\Component\Utility\SafeStringTrait
|
|
* @see \Drupal\Component\Utility\SafeMarkup::isSafe()
|
|
* @see \Drupal\Core\Template\TwigExtension::escapeFilter()
|
|
*/
|
|
interface SafeStringInterface extends \JsonSerializable {
|
|
|
|
/**
|
|
* Returns a safe string.
|
|
*
|
|
* @return string
|
|
* The safe string.
|
|
*/
|
|
public function __toString();
|
|
|
|
}
|