Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Component/Render/MarkupTrait.php \Drupal\Component\Render\MarkupTrait::create()
  2. 9 core/lib/Drupal/Component/Render/MarkupTrait.php \Drupal\Component\Render\MarkupTrait::create()

Creates a Markup object if necessary.

If $string is equal to a blank string then it is not necessary to create a Markup object. If $string is an object that implements MarkupInterface it is returned unchanged.

Parameters

mixed $string: The string to mark as safe. This value will be cast to a string.

Return value

string|\Drupal\Component\Render\MarkupInterface A safe string.

2 methods override MarkupTrait::create()
FieldFilteredMarkup::create in core/lib/Drupal/Core/Field/FieldFilteredMarkup.php
Overrides \Drupal\Component\Render\MarkupTrait::create().
SafeMarkupTestMarkup::create in core/tests/Drupal/KernelTests/Core/Theme/TwigMarkupInterfaceTest.php
Overrides MarkupTrait::create() to allow creation with empty strings.

File

core/lib/Drupal/Component/Render/MarkupTrait.php, line 32

Class

MarkupTrait
Implements MarkupInterface and Countable for rendered objects.

Namespace

Drupal\Component\Render

Code

public static function create($string) {
  if ($string instanceof MarkupInterface) {
    return $string;
  }
  $string = (string) $string;
  if ($string === '') {
    return '';
  }
  $safe_string = new static();
  $safe_string->string = $string;
  return $safe_string;
}