public __construct($string, array $arguments = array(), array $options = array(), ?Drupal\Core\StringTranslation\TranslationInterface $string_translation = null) Constructs a new class instance.
/**
* Constructs a new class instance.
*
* When possible, use the
* \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
* create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
* directly.
*
* Calling the trait's t() method or instantiating a new TranslatableMarkup
* object serves two purposes:
* - At run-time it translates user-visible text into the appropriate
* language.
* - Static analyzers detect calls to t() and new TranslatableMarkup, and add
* the first argument (the string to be translated) to the database of
* strings that need translation. These strings are expected to be in
* English, so the first argument should always be in English.
* To allow the site to be localized, it is important that all human-readable
* text that will be displayed on the site or sent to a user is made available
* in one of the ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink.
* See the @link https://www.drupal.org/node/322729 Localization API @endlink
* pages for more information, including recommendations on how to break up or
* not break up strings for translation.
*
* @section sec_translating_vars Translating Variables
* $string should always be an English literal string.
*
* $string should never contain a variable, such as:
* @code
* new TranslatableMarkup($text)
* @endcode
* There are several reasons for this:
* - Using a variable for $string that is user input is a security risk.
* - Using a variable for $string that has even guaranteed safe text (for
* example, user interface text provided literally in code), will not be
* picked up by the localization static text processor. (The parameter could
* be a variable if the entire string in $text has been passed into t() or
* new TranslatableMarkup() elsewhere as the first argument, but that
* strategy is not recommended.)
*
* It is especially important never to call new TranslatableMarkup($user_text)
* or t($user_text) where $user_text is some text that a user entered -- doing
* that can lead to cross-site scripting and other security problems. However,
* you can use variable substitution in your string, to put variable text such
* as user names or link URLs into translated text. Variable substitution
* looks like this:
* @code
* new TranslatableMarkup("@name's blog", ['@name' => $account->getDisplayName()]);
* @endcode
* Basically, you can put placeholders like @name into your string, and the
* method will substitute the sanitized values at translation time. (See the
* Localization API pages referenced above and the documentation of
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* for details about how to safely and correctly define variables in your
* string.) Translators can then rearrange the string as necessary for the
* language (e.g., in Spanish, it might be "blog de @name").
*
* @param string $string
* A string containing the English text to translate.
* @param array $arguments
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* (optional) The string translation service.
*
* @throws \InvalidArgumentException
* Exception thrown when $string is not a string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
*
* @ingroup sanitization
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:129
public getUntranslatedString(): string Gets the untranslated string value stored in this translated string.
/**
* Gets the untranslated string value stored in this translated string.
*
* @return string
* The string stored in this wrapper.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:145
public getOption($name): mixed Gets a specific option from this translated string.
/**
* Gets a specific option from this translated string.
*
* @param string $name
* Option name.
*
* @return mixed
* The value of this option or empty string of option is not set.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:158
public getOptions(): mixed[] Gets all options from this translated string.
/**
* Gets all options from this translated string.
*
* @return mixed[]
* The array of options.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:168
public getArguments(): mixed[] Gets all arguments from this translated string.
/**
* Gets all arguments from this translated string.
*
* @return mixed[]
* The array of arguments.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:178
public render(): string Renders the object as a string.
/**
* Renders the object as a string.
*
* @return string
* The translated string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:188
public __sleep(): array Magic __sleep() method to avoid serializing the string translator.
/**
* Magic __sleep() method to avoid serializing the string translator.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:203
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:213
public count(): int Returns the string length.
/**
* Returns the string length.
*
* @return int
* The length of the string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:227
public __toString(): string Implements the magic __toString() method.
/**
* Implements the magic __toString() method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:13
public jsonSerialize(): string Returns a representation of the object for use in JSON serialization.
/**
* Returns a representation of the object for use in JSON serialization.
*
* @return string
* The safe string content.
*/
Inherited from Drupal\Component\Render\FormattableMarkup
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:97
protected _die() For test purposes, wrap die() in an overridable method.
/**
* For test purposes, wrap die() in an overridable method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:31
protected static Drupal\Component\Render\FormattableMarkup::placeholderFormat($string, array $args): string Replaces placeholders in a string with values.
/**
* Replaces placeholders in a string with values.
*
* For convenience examples are listed here. Refer to the parameter
* description for $args for details of the placeholders "@", "%", and ":".
*
* Secure examples.
* @code
* // Return the HTML string "Prefix $some_variable".
* $this->placeholderFormat('Prefix @foo', ['@foo' => $some_variable]);
* // Convert an object to a sanitized string.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => (string) $safe_string_interface_object]);
* // Wrap $some_variable in an <em> tag.
* $this->placeholderFormat('Prefix %foo', ['%foo' => $some_variable]);
* // The following are using the : placeholder inside an HTML tag.
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo" title="static text">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* // Use a : placeholder inside an HTML tag.
* $this->placeholderFormat('<img src=":foo" />', [':foo' => '/image.png']);
* @endcode
* The above are typical examples of using the placeholders correctly.
*
* Insecure examples.
* @code
* // The following are using the @ placeholder inside an HTML tag.
* $this->placeholderFormat('<@foo>text</@foo>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a @foo>link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a href="@foo">link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a title="@foo">link text</a>', ['@foo' => $some_variable]);
* // Implicitly convert an object to a string, which is not sanitized.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => $safe_string_interface_object]);
* @endcode
* These are the more common mistakes that can be made. Make sure that your
* site is not using any insecure usages of these placeholders.
*
* @param string $string
* A string containing placeholders. The string itself is expected to be
* safe and correct HTML. Any unsafe content must be in $args and inserted
* via placeholders. It is insecure to use the @ or % placeholders within
* the "<" and ">" of an HTML tag.
* @param array $args
* An associative array of replacements. Each array key should be the same
* as a placeholder in $string. The corresponding value should be a string
* or an object that implements \Drupal\Component\Render\MarkupInterface.
* The args[] value replaces the placeholder in $string. Sanitization and
* formatting will be done before replacement. The type of sanitization
* and formatting depends on the first character of the key:
* - @variable: Use as the default choice for anything displayed on the
* site. Do not use within the "<" and ">" of an HTML tag, such as in
* HTML attribute values. Doing so is a security risk.
* - %variable: Use when @variable would be appropriate, but you want the
* placeholder value to be wrapped in an <em> tag with a placeholder
* class. As with @variable, do not use within the "<" and ">" of an HTML
* tag, such as in HTML attribute values. Doing so is a security risk.
* - :variable: Use when the return value is to be used as a URL value of an
* HTML attribute. Only the "href" attribute is supported. The return
* value is escaped with
* \Drupal\Component\Utility\Html::escape() and filtered for dangerous
* protocols using UrlHelper::stripDangerousProtocols(). Use this when
* using the "href" attribute, ensuring the value is always wrapped in
* quotes.
*
* @return string
* A formatted HTML string with the placeholders replaced.
*
* @ingroup sanitization
*
* @see \Drupal\Core\StringTranslation\TranslatableMarkup
* @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* @see \Drupal\Component\Utility\Html::escape()
* @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
* @see \Drupal\Core\Url::fromUri()
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:175
protected static Drupal\Component\Render\FormattableMarkup::placeholderEscape($value): string Escapes a placeholder replacement value if needed.
/**
* Escapes a placeholder replacement value if needed.
*
* @param string|\Drupal\Component\Render\MarkupInterface $value
* A placeholder replacement value.
*
* @return string
* The properly escaped replacement value.
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:237
public __construct($string, array $arguments = array(), array $options = array(), ?Drupal\Core\StringTranslation\TranslationInterface $string_translation = null) Constructs a new class instance.
/**
* Constructs a new class instance.
*
* When possible, use the
* \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
* create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
* directly.
*
* Calling the trait's t() method or instantiating a new TranslatableMarkup
* object serves two purposes:
* - At run-time it translates user-visible text into the appropriate
* language.
* - Static analyzers detect calls to t() and new TranslatableMarkup, and add
* the first argument (the string to be translated) to the database of
* strings that need translation. These strings are expected to be in
* English, so the first argument should always be in English.
* To allow the site to be localized, it is important that all human-readable
* text that will be displayed on the site or sent to a user is made available
* in one of the ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink.
* See the @link https://www.drupal.org/node/322729 Localization API @endlink
* pages for more information, including recommendations on how to break up or
* not break up strings for translation.
*
* @section sec_translating_vars Translating Variables
* $string should always be an English literal string.
*
* $string should never contain a variable, such as:
* @code
* new TranslatableMarkup($text)
* @endcode
* There are several reasons for this:
* - Using a variable for $string that is user input is a security risk.
* - Using a variable for $string that has even guaranteed safe text (for
* example, user interface text provided literally in code), will not be
* picked up by the localization static text processor. (The parameter could
* be a variable if the entire string in $text has been passed into t() or
* new TranslatableMarkup() elsewhere as the first argument, but that
* strategy is not recommended.)
*
* It is especially important never to call new TranslatableMarkup($user_text)
* or t($user_text) where $user_text is some text that a user entered -- doing
* that can lead to cross-site scripting and other security problems. However,
* you can use variable substitution in your string, to put variable text such
* as user names or link URLs into translated text. Variable substitution
* looks like this:
* @code
* new TranslatableMarkup("@name's blog", ['@name' => $account->getDisplayName()]);
* @endcode
* Basically, you can put placeholders like @name into your string, and the
* method will substitute the sanitized values at translation time. (See the
* Localization API pages referenced above and the documentation of
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* for details about how to safely and correctly define variables in your
* string.) Translators can then rearrange the string as necessary for the
* language (e.g., in Spanish, it might be "blog de @name").
*
* @param string $string
* A string containing the English text to translate.
* @param array $arguments
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* (optional) The string translation service.
*
* @throws \InvalidArgumentException
* Exception thrown when $string is not a string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
*
* @ingroup sanitization
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:129
public getUntranslatedString(): string Gets the untranslated string value stored in this translated string.
/**
* Gets the untranslated string value stored in this translated string.
*
* @return string
* The string stored in this wrapper.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:145
public getOption($name): mixed Gets a specific option from this translated string.
/**
* Gets a specific option from this translated string.
*
* @param string $name
* Option name.
*
* @return mixed
* The value of this option or empty string of option is not set.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:158
public getOptions(): mixed[] Gets all options from this translated string.
/**
* Gets all options from this translated string.
*
* @return mixed[]
* The array of options.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:168
public getArguments(): mixed[] Gets all arguments from this translated string.
/**
* Gets all arguments from this translated string.
*
* @return mixed[]
* The array of arguments.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:178
public render(): string Renders the object as a string.
/**
* Renders the object as a string.
*
* @return string
* The translated string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:188
public __sleep(): array Magic __sleep() method to avoid serializing the string translator.
/**
* Magic __sleep() method to avoid serializing the string translator.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:203
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:213
public count(): int Returns the string length.
/**
* Returns the string length.
*
* @return int
* The length of the string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:227
public __toString(): string Implements the magic __toString() method.
/**
* Implements the magic __toString() method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:13
public jsonSerialize(): string Returns a representation of the object for use in JSON serialization.
/**
* Returns a representation of the object for use in JSON serialization.
*
* @return string
* The safe string content.
*/
Inherited from Drupal\Component\Render\FormattableMarkup
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:97
protected _die() For test purposes, wrap die() in an overridable method.
/**
* For test purposes, wrap die() in an overridable method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:31
protected static Drupal\Component\Render\FormattableMarkup::placeholderFormat($string, array $args): string Replaces placeholders in a string with values.
/**
* Replaces placeholders in a string with values.
*
* For convenience examples are listed here. Refer to the parameter
* description for $args for details of the placeholders "@", "%", and ":".
*
* Secure examples.
* @code
* // Return the HTML string "Prefix $some_variable".
* $this->placeholderFormat('Prefix @foo', ['@foo' => $some_variable]);
* // Convert an object to a sanitized string.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => (string) $safe_string_interface_object]);
* // Wrap $some_variable in an <em> tag.
* $this->placeholderFormat('Prefix %foo', ['%foo' => $some_variable]);
* // The following are using the : placeholder inside an HTML tag.
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo" title="static text">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* // Use a : placeholder inside an HTML tag.
* $this->placeholderFormat('<img src=":foo" />', [':foo' => '/image.png']);
* @endcode
* The above are typical examples of using the placeholders correctly.
*
* Insecure examples.
* @code
* // The following are using the @ placeholder inside an HTML tag.
* $this->placeholderFormat('<@foo>text</@foo>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a @foo>link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a href="@foo">link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a title="@foo">link text</a>', ['@foo' => $some_variable]);
* // Implicitly convert an object to a string, which is not sanitized.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => $safe_string_interface_object]);
* @endcode
* These are the more common mistakes that can be made. Make sure that your
* site is not using any insecure usages of these placeholders.
*
* @param string $string
* A string containing placeholders. The string itself is expected to be
* safe and correct HTML. Any unsafe content must be in $args and inserted
* via placeholders. It is insecure to use the @ or % placeholders within
* the "<" and ">" of an HTML tag.
* @param array $args
* An associative array of replacements. Each array key should be the same
* as a placeholder in $string. The corresponding value should be a string
* or an object that implements \Drupal\Component\Render\MarkupInterface.
* The args[] value replaces the placeholder in $string. Sanitization and
* formatting will be done before replacement. The type of sanitization
* and formatting depends on the first character of the key:
* - @variable: Use as the default choice for anything displayed on the
* site. Do not use within the "<" and ">" of an HTML tag, such as in
* HTML attribute values. Doing so is a security risk.
* - %variable: Use when @variable would be appropriate, but you want the
* placeholder value to be wrapped in an <em> tag with a placeholder
* class. As with @variable, do not use within the "<" and ">" of an HTML
* tag, such as in HTML attribute values. Doing so is a security risk.
* - :variable: Use when the return value is to be used as a URL value of an
* HTML attribute. Only the "href" attribute is supported. The return
* value is escaped with
* \Drupal\Component\Utility\Html::escape() and filtered for dangerous
* protocols using UrlHelper::stripDangerousProtocols(). Use this when
* using the "href" attribute, ensuring the value is always wrapped in
* quotes.
*
* @return string
* A formatted HTML string with the placeholders replaced.
*
* @ingroup sanitization
*
* @see \Drupal\Core\StringTranslation\TranslatableMarkup
* @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* @see \Drupal\Component\Utility\Html::escape()
* @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
* @see \Drupal\Core\Url::fromUri()
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:175
protected static Drupal\Component\Render\FormattableMarkup::placeholderEscape($value): string Escapes a placeholder replacement value if needed.
/**
* Escapes a placeholder replacement value if needed.
*
* @param string|\Drupal\Component\Render\MarkupInterface $value
* A placeholder replacement value.
*
* @return string
* The properly escaped replacement value.
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:237
public __construct($string, array $arguments = array(), array $options = array(), ?Drupal\Core\StringTranslation\TranslationInterface $string_translation = null) Constructs a new class instance.
/**
* Constructs a new class instance.
*
* When possible, use the
* \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
* create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
* directly.
*
* Calling the trait's t() method or instantiating a new TranslatableMarkup
* object serves two purposes:
* - At run-time it translates user-visible text into the appropriate
* language.
* - Static analyzers detect calls to t() and new TranslatableMarkup, and add
* the first argument (the string to be translated) to the database of
* strings that need translation. These strings are expected to be in
* English, so the first argument should always be in English.
* To allow the site to be localized, it is important that all human-readable
* text that will be displayed on the site or sent to a user is made available
* in one of the ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink.
* See the @link https://www.drupal.org/node/322729 Localization API @endlink
* pages for more information, including recommendations on how to break up or
* not break up strings for translation.
*
* @section sec_translating_vars Translating Variables
* $string should always be an English literal string.
*
* $string should never contain a variable, such as:
* @code
* new TranslatableMarkup($text)
* @endcode
* There are several reasons for this:
* - Using a variable for $string that is user input is a security risk.
* - Using a variable for $string that has even guaranteed safe text (for
* example, user interface text provided literally in code), will not be
* picked up by the localization static text processor. (The parameter could
* be a variable if the entire string in $text has been passed into t() or
* new TranslatableMarkup() elsewhere as the first argument, but that
* strategy is not recommended.)
*
* It is especially important never to call new TranslatableMarkup($user_text)
* or t($user_text) where $user_text is some text that a user entered -- doing
* that can lead to cross-site scripting and other security problems. However,
* you can use variable substitution in your string, to put variable text such
* as user names or link URLs into translated text. Variable substitution
* looks like this:
* @code
* new TranslatableMarkup("@name's blog", ['@name' => $account->getDisplayName()]);
* @endcode
* Basically, you can put placeholders like @name into your string, and the
* method will substitute the sanitized values at translation time. (See the
* Localization API pages referenced above and the documentation of
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* for details about how to safely and correctly define variables in your
* string.) Translators can then rearrange the string as necessary for the
* language (e.g., in Spanish, it might be "blog de @name").
*
* @param string $string
* A string containing the English text to translate.
* @param array $arguments
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* (optional) The string translation service.
*
* @throws \InvalidArgumentException
* Exception thrown when $string is not a string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
*
* @ingroup sanitization
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:129
public getUntranslatedString(): string Gets the untranslated string value stored in this translated string.
/**
* Gets the untranslated string value stored in this translated string.
*
* @return string
* The string stored in this wrapper.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:145
public getOption($name): mixed Gets a specific option from this translated string.
/**
* Gets a specific option from this translated string.
*
* @param string $name
* Option name.
*
* @return mixed
* The value of this option or empty string of option is not set.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:158
public getOptions(): mixed[] Gets all options from this translated string.
/**
* Gets all options from this translated string.
*
* @return mixed[]
* The array of options.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:168
public getArguments(): mixed[] Gets all arguments from this translated string.
/**
* Gets all arguments from this translated string.
*
* @return mixed[]
* The array of arguments.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:178
public render(): string Renders the object as a string.
/**
* Renders the object as a string.
*
* @return string
* The translated string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:188
public __sleep(): array Magic __sleep() method to avoid serializing the string translator.
/**
* Magic __sleep() method to avoid serializing the string translator.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:203
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:213
public count(): int Returns the string length.
/**
* Returns the string length.
*
* @return int
* The length of the string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:227
public __toString(): string Implements the magic __toString() method.
/**
* Implements the magic __toString() method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:13
public jsonSerialize(): string Returns a representation of the object for use in JSON serialization.
/**
* Returns a representation of the object for use in JSON serialization.
*
* @return string
* The safe string content.
*/
Inherited from Drupal\Component\Render\FormattableMarkup
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:97
protected _die() For test purposes, wrap die() in an overridable method.
/**
* For test purposes, wrap die() in an overridable method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:31
protected static Drupal\Component\Render\FormattableMarkup::placeholderFormat($string, array $args): string Replaces placeholders in a string with values.
/**
* Replaces placeholders in a string with values.
*
* For convenience examples are listed here. Refer to the parameter
* description for $args for details of the placeholders "@", "%", and ":".
*
* Secure examples.
* @code
* // Return the HTML string "Prefix $some_variable".
* $this->placeholderFormat('Prefix @foo', ['@foo' => $some_variable]);
* // Convert an object to a sanitized string.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => (string) $safe_string_interface_object]);
* // Wrap $some_variable in an <em> tag.
* $this->placeholderFormat('Prefix %foo', ['%foo' => $some_variable]);
* // The following are using the : placeholder inside an HTML tag.
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo" title="static text">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* // Use a : placeholder inside an HTML tag.
* $this->placeholderFormat('<img src=":foo" />', [':foo' => '/image.png']);
* @endcode
* The above are typical examples of using the placeholders correctly.
*
* Insecure examples.
* @code
* // The following are using the @ placeholder inside an HTML tag.
* $this->placeholderFormat('<@foo>text</@foo>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a @foo>link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a href="@foo">link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a title="@foo">link text</a>', ['@foo' => $some_variable]);
* // Implicitly convert an object to a string, which is not sanitized.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => $safe_string_interface_object]);
* @endcode
* These are the more common mistakes that can be made. Make sure that your
* site is not using any insecure usages of these placeholders.
*
* @param string $string
* A string containing placeholders. The string itself is expected to be
* safe and correct HTML. Any unsafe content must be in $args and inserted
* via placeholders. It is insecure to use the @ or % placeholders within
* the "<" and ">" of an HTML tag.
* @param array $args
* An associative array of replacements. Each array key should be the same
* as a placeholder in $string. The corresponding value should be a string
* or an object that implements \Drupal\Component\Render\MarkupInterface.
* The args[] value replaces the placeholder in $string. Sanitization and
* formatting will be done before replacement. The type of sanitization
* and formatting depends on the first character of the key:
* - @variable: Use as the default choice for anything displayed on the
* site. Do not use within the "<" and ">" of an HTML tag, such as in
* HTML attribute values. Doing so is a security risk.
* - %variable: Use when @variable would be appropriate, but you want the
* placeholder value to be wrapped in an <em> tag with a placeholder
* class. As with @variable, do not use within the "<" and ">" of an HTML
* tag, such as in HTML attribute values. Doing so is a security risk.
* - :variable: Use when the return value is to be used as a URL value of an
* HTML attribute. Only the "href" attribute is supported. The return
* value is escaped with
* \Drupal\Component\Utility\Html::escape() and filtered for dangerous
* protocols using UrlHelper::stripDangerousProtocols(). Use this when
* using the "href" attribute, ensuring the value is always wrapped in
* quotes.
*
* @return string
* A formatted HTML string with the placeholders replaced.
*
* @ingroup sanitization
*
* @see \Drupal\Core\StringTranslation\TranslatableMarkup
* @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* @see \Drupal\Component\Utility\Html::escape()
* @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
* @see \Drupal\Core\Url::fromUri()
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:175
protected static Drupal\Component\Render\FormattableMarkup::placeholderEscape($value): string Escapes a placeholder replacement value if needed.
/**
* Escapes a placeholder replacement value if needed.
*
* @param string|\Drupal\Component\Render\MarkupInterface $value
* A placeholder replacement value.
*
* @return string
* The properly escaped replacement value.
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:237
public __construct($string, array $arguments = array(), array $options = array(), ?Drupal\Core\StringTranslation\TranslationInterface $string_translation = null) Constructs a new class instance.
/**
* Constructs a new class instance.
*
* When possible, use the
* \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
* create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
* directly.
*
* Calling the trait's t() method or instantiating a new TranslatableMarkup
* object serves two purposes:
* - At run-time it translates user-visible text into the appropriate
* language.
* - Static analyzers detect calls to t() and new TranslatableMarkup, and add
* the first argument (the string to be translated) to the database of
* strings that need translation. These strings are expected to be in
* English, so the first argument should always be in English.
* To allow the site to be localized, it is important that all human-readable
* text that will be displayed on the site or sent to a user is made available
* in one of the ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink.
* See the @link https://www.drupal.org/node/322729 Localization API @endlink
* pages for more information, including recommendations on how to break up or
* not break up strings for translation.
*
* @section sec_translating_vars Translating Variables
* $string should always be an English literal string.
*
* $string should never contain a variable, such as:
* @code
* new TranslatableMarkup($text)
* @endcode
* There are several reasons for this:
* - Using a variable for $string that is user input is a security risk.
* - Using a variable for $string that has even guaranteed safe text (for
* example, user interface text provided literally in code), will not be
* picked up by the localization static text processor. (The parameter could
* be a variable if the entire string in $text has been passed into t() or
* new TranslatableMarkup() elsewhere as the first argument, but that
* strategy is not recommended.)
*
* It is especially important never to call new TranslatableMarkup($user_text)
* or t($user_text) where $user_text is some text that a user entered -- doing
* that can lead to cross-site scripting and other security problems. However,
* you can use variable substitution in your string, to put variable text such
* as user names or link URLs into translated text. Variable substitution
* looks like this:
* @code
* new TranslatableMarkup("@name's blog", ['@name' => $account->getDisplayName()]);
* @endcode
* Basically, you can put placeholders like @name into your string, and the
* method will substitute the sanitized values at translation time. (See the
* Localization API pages referenced above and the documentation of
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* for details about how to safely and correctly define variables in your
* string.) Translators can then rearrange the string as necessary for the
* language (e.g., in Spanish, it might be "blog de @name").
*
* @param string $string
* A string containing the English text to translate.
* @param array $arguments
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* (optional) The string translation service.
*
* @throws \InvalidArgumentException
* Exception thrown when $string is not a string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
*
* @ingroup sanitization
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:129
public getUntranslatedString(): string Gets the untranslated string value stored in this translated string.
/**
* Gets the untranslated string value stored in this translated string.
*
* @return string
* The string stored in this wrapper.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:145
public getOption($name): mixed Gets a specific option from this translated string.
/**
* Gets a specific option from this translated string.
*
* @param string $name
* Option name.
*
* @return mixed
* The value of this option or empty string of option is not set.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:158
public getOptions(): mixed[] Gets all options from this translated string.
/**
* Gets all options from this translated string.
*
* @return mixed[]
* The array of options.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:168
public getArguments(): mixed[] Gets all arguments from this translated string.
/**
* Gets all arguments from this translated string.
*
* @return mixed[]
* The array of arguments.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:178
public render(): string Renders the object as a string.
/**
* Renders the object as a string.
*
* @return string
* The translated string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:188
public __sleep(): array Magic __sleep() method to avoid serializing the string translator.
/**
* Magic __sleep() method to avoid serializing the string translator.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:203
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:213
public count(): int Returns the string length.
/**
* Returns the string length.
*
* @return int
* The length of the string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:227
public __toString(): string Implements the magic __toString() method.
/**
* Implements the magic __toString() method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:13
public jsonSerialize(): string Returns a representation of the object for use in JSON serialization.
/**
* Returns a representation of the object for use in JSON serialization.
*
* @return string
* The safe string content.
*/
Inherited from Drupal\Component\Render\FormattableMarkup
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:97
protected _die() For test purposes, wrap die() in an overridable method.
/**
* For test purposes, wrap die() in an overridable method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:31
protected static Drupal\Component\Render\FormattableMarkup::placeholderFormat($string, array $args): string Replaces placeholders in a string with values.
/**
* Replaces placeholders in a string with values.
*
* For convenience examples are listed here. Refer to the parameter
* description for $args for details of the placeholders "@", "%", and ":".
*
* Secure examples.
* @code
* // Return the HTML string "Prefix $some_variable".
* $this->placeholderFormat('Prefix @foo', ['@foo' => $some_variable]);
* // Convert an object to a sanitized string.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => (string) $safe_string_interface_object]);
* // Wrap $some_variable in an <em> tag.
* $this->placeholderFormat('Prefix %foo', ['%foo' => $some_variable]);
* // The following are using the : placeholder inside an HTML tag.
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo" title="static text">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* // Use a : placeholder inside an HTML tag.
* $this->placeholderFormat('<img src=":foo" />', [':foo' => '/image.png']);
* @endcode
* The above are typical examples of using the placeholders correctly.
*
* Insecure examples.
* @code
* // The following are using the @ placeholder inside an HTML tag.
* $this->placeholderFormat('<@foo>text</@foo>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a @foo>link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a href="@foo">link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a title="@foo">link text</a>', ['@foo' => $some_variable]);
* // Implicitly convert an object to a string, which is not sanitized.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => $safe_string_interface_object]);
* @endcode
* These are the more common mistakes that can be made. Make sure that your
* site is not using any insecure usages of these placeholders.
*
* @param string $string
* A string containing placeholders. The string itself is expected to be
* safe and correct HTML. Any unsafe content must be in $args and inserted
* via placeholders. It is insecure to use the @ or % placeholders within
* the "<" and ">" of an HTML tag.
* @param array $args
* An associative array of replacements. Each array key should be the same
* as a placeholder in $string. The corresponding value should be a string
* or an object that implements \Drupal\Component\Render\MarkupInterface.
* The args[] value replaces the placeholder in $string. Sanitization and
* formatting will be done before replacement. The type of sanitization
* and formatting depends on the first character of the key:
* - @variable: Use as the default choice for anything displayed on the
* site. Do not use within the "<" and ">" of an HTML tag, such as in
* HTML attribute values. Doing so is a security risk.
* - %variable: Use when @variable would be appropriate, but you want the
* placeholder value to be wrapped in an <em> tag with a placeholder
* class. As with @variable, do not use within the "<" and ">" of an HTML
* tag, such as in HTML attribute values. Doing so is a security risk.
* - :variable: Use when the return value is to be used as a URL value of an
* HTML attribute. Only the "href" attribute is supported. The return
* value is escaped with
* \Drupal\Component\Utility\Html::escape() and filtered for dangerous
* protocols using UrlHelper::stripDangerousProtocols(). Use this when
* using the "href" attribute, ensuring the value is always wrapped in
* quotes.
*
* @return string
* A formatted HTML string with the placeholders replaced.
*
* @ingroup sanitization
*
* @see \Drupal\Core\StringTranslation\TranslatableMarkup
* @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* @see \Drupal\Component\Utility\Html::escape()
* @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
* @see \Drupal\Core\Url::fromUri()
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:175
protected static Drupal\Component\Render\FormattableMarkup::placeholderEscape($value): string Escapes a placeholder replacement value if needed.
/**
* Escapes a placeholder replacement value if needed.
*
* @param string|\Drupal\Component\Render\MarkupInterface $value
* A placeholder replacement value.
*
* @return string
* The properly escaped replacement value.
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:237
label_singular UTF-8 string (20) "élément de contenu"
public __construct($string, array $arguments = array(), array $options = array(), ?Drupal\Core\StringTranslation\TranslationInterface $string_translation = null) Constructs a new class instance.
/**
* Constructs a new class instance.
*
* When possible, use the
* \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
* create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
* directly.
*
* Calling the trait's t() method or instantiating a new TranslatableMarkup
* object serves two purposes:
* - At run-time it translates user-visible text into the appropriate
* language.
* - Static analyzers detect calls to t() and new TranslatableMarkup, and add
* the first argument (the string to be translated) to the database of
* strings that need translation. These strings are expected to be in
* English, so the first argument should always be in English.
* To allow the site to be localized, it is important that all human-readable
* text that will be displayed on the site or sent to a user is made available
* in one of the ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink.
* See the @link https://www.drupal.org/node/322729 Localization API @endlink
* pages for more information, including recommendations on how to break up or
* not break up strings for translation.
*
* @section sec_translating_vars Translating Variables
* $string should always be an English literal string.
*
* $string should never contain a variable, such as:
* @code
* new TranslatableMarkup($text)
* @endcode
* There are several reasons for this:
* - Using a variable for $string that is user input is a security risk.
* - Using a variable for $string that has even guaranteed safe text (for
* example, user interface text provided literally in code), will not be
* picked up by the localization static text processor. (The parameter could
* be a variable if the entire string in $text has been passed into t() or
* new TranslatableMarkup() elsewhere as the first argument, but that
* strategy is not recommended.)
*
* It is especially important never to call new TranslatableMarkup($user_text)
* or t($user_text) where $user_text is some text that a user entered -- doing
* that can lead to cross-site scripting and other security problems. However,
* you can use variable substitution in your string, to put variable text such
* as user names or link URLs into translated text. Variable substitution
* looks like this:
* @code
* new TranslatableMarkup("@name's blog", ['@name' => $account->getDisplayName()]);
* @endcode
* Basically, you can put placeholders like @name into your string, and the
* method will substitute the sanitized values at translation time. (See the
* Localization API pages referenced above and the documentation of
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* for details about how to safely and correctly define variables in your
* string.) Translators can then rearrange the string as necessary for the
* language (e.g., in Spanish, it might be "blog de @name").
*
* @param string $string
* A string containing the English text to translate.
* @param array $arguments
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* (optional) The string translation service.
*
* @throws \InvalidArgumentException
* Exception thrown when $string is not a string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
*
* @ingroup sanitization
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:129
public getUntranslatedString(): string Gets the untranslated string value stored in this translated string.
/**
* Gets the untranslated string value stored in this translated string.
*
* @return string
* The string stored in this wrapper.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:145
public getOption($name): mixed Gets a specific option from this translated string.
/**
* Gets a specific option from this translated string.
*
* @param string $name
* Option name.
*
* @return mixed
* The value of this option or empty string of option is not set.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:158
public getOptions(): mixed[] Gets all options from this translated string.
/**
* Gets all options from this translated string.
*
* @return mixed[]
* The array of options.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:168
public getArguments(): mixed[] Gets all arguments from this translated string.
/**
* Gets all arguments from this translated string.
*
* @return mixed[]
* The array of arguments.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:178
public render(): string Renders the object as a string.
/**
* Renders the object as a string.
*
* @return string
* The translated string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:188
public __sleep(): array Magic __sleep() method to avoid serializing the string translator.
/**
* Magic __sleep() method to avoid serializing the string translator.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:203
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:213
public count(): int Returns the string length.
/**
* Returns the string length.
*
* @return int
* The length of the string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:227
public __toString(): string Implements the magic __toString() method.
/**
* Implements the magic __toString() method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:13
public jsonSerialize(): string Returns a representation of the object for use in JSON serialization.
/**
* Returns a representation of the object for use in JSON serialization.
*
* @return string
* The safe string content.
*/
Inherited from Drupal\Component\Render\FormattableMarkup
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:97
protected _die() For test purposes, wrap die() in an overridable method.
/**
* For test purposes, wrap die() in an overridable method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:31
protected static Drupal\Component\Render\FormattableMarkup::placeholderFormat($string, array $args): string Replaces placeholders in a string with values.
/**
* Replaces placeholders in a string with values.
*
* For convenience examples are listed here. Refer to the parameter
* description for $args for details of the placeholders "@", "%", and ":".
*
* Secure examples.
* @code
* // Return the HTML string "Prefix $some_variable".
* $this->placeholderFormat('Prefix @foo', ['@foo' => $some_variable]);
* // Convert an object to a sanitized string.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => (string) $safe_string_interface_object]);
* // Wrap $some_variable in an <em> tag.
* $this->placeholderFormat('Prefix %foo', ['%foo' => $some_variable]);
* // The following are using the : placeholder inside an HTML tag.
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo" title="static text">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* // Use a : placeholder inside an HTML tag.
* $this->placeholderFormat('<img src=":foo" />', [':foo' => '/image.png']);
* @endcode
* The above are typical examples of using the placeholders correctly.
*
* Insecure examples.
* @code
* // The following are using the @ placeholder inside an HTML tag.
* $this->placeholderFormat('<@foo>text</@foo>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a @foo>link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a href="@foo">link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a title="@foo">link text</a>', ['@foo' => $some_variable]);
* // Implicitly convert an object to a string, which is not sanitized.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => $safe_string_interface_object]);
* @endcode
* These are the more common mistakes that can be made. Make sure that your
* site is not using any insecure usages of these placeholders.
*
* @param string $string
* A string containing placeholders. The string itself is expected to be
* safe and correct HTML. Any unsafe content must be in $args and inserted
* via placeholders. It is insecure to use the @ or % placeholders within
* the "<" and ">" of an HTML tag.
* @param array $args
* An associative array of replacements. Each array key should be the same
* as a placeholder in $string. The corresponding value should be a string
* or an object that implements \Drupal\Component\Render\MarkupInterface.
* The args[] value replaces the placeholder in $string. Sanitization and
* formatting will be done before replacement. The type of sanitization
* and formatting depends on the first character of the key:
* - @variable: Use as the default choice for anything displayed on the
* site. Do not use within the "<" and ">" of an HTML tag, such as in
* HTML attribute values. Doing so is a security risk.
* - %variable: Use when @variable would be appropriate, but you want the
* placeholder value to be wrapped in an <em> tag with a placeholder
* class. As with @variable, do not use within the "<" and ">" of an HTML
* tag, such as in HTML attribute values. Doing so is a security risk.
* - :variable: Use when the return value is to be used as a URL value of an
* HTML attribute. Only the "href" attribute is supported. The return
* value is escaped with
* \Drupal\Component\Utility\Html::escape() and filtered for dangerous
* protocols using UrlHelper::stripDangerousProtocols(). Use this when
* using the "href" attribute, ensuring the value is always wrapped in
* quotes.
*
* @return string
* A formatted HTML string with the placeholders replaced.
*
* @ingroup sanitization
*
* @see \Drupal\Core\StringTranslation\TranslatableMarkup
* @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* @see \Drupal\Component\Utility\Html::escape()
* @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
* @see \Drupal\Core\Url::fromUri()
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:175
protected static Drupal\Component\Render\FormattableMarkup::placeholderEscape($value): string Escapes a placeholder replacement value if needed.
/**
* Escapes a placeholder replacement value if needed.
*
* @param string|\Drupal\Component\Render\MarkupInterface $value
* A placeholder replacement value.
*
* @return string
* The properly escaped replacement value.
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:237
label_plural UTF-8 string (21) "éléments de contenu"
public __construct($string, array $arguments = array(), array $options = array(), ?Drupal\Core\StringTranslation\TranslationInterface $string_translation = null) Constructs a new class instance.
/**
* Constructs a new class instance.
*
* When possible, use the
* \Drupal\Core\StringTranslation\StringTranslationTrait $this->t(). Otherwise
* create a new \Drupal\Core\StringTranslation\TranslatableMarkup object
* directly.
*
* Calling the trait's t() method or instantiating a new TranslatableMarkup
* object serves two purposes:
* - At run-time it translates user-visible text into the appropriate
* language.
* - Static analyzers detect calls to t() and new TranslatableMarkup, and add
* the first argument (the string to be translated) to the database of
* strings that need translation. These strings are expected to be in
* English, so the first argument should always be in English.
* To allow the site to be localized, it is important that all human-readable
* text that will be displayed on the site or sent to a user is made available
* in one of the ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink.
* See the @link https://www.drupal.org/node/322729 Localization API @endlink
* pages for more information, including recommendations on how to break up or
* not break up strings for translation.
*
* @section sec_translating_vars Translating Variables
* $string should always be an English literal string.
*
* $string should never contain a variable, such as:
* @code
* new TranslatableMarkup($text)
* @endcode
* There are several reasons for this:
* - Using a variable for $string that is user input is a security risk.
* - Using a variable for $string that has even guaranteed safe text (for
* example, user interface text provided literally in code), will not be
* picked up by the localization static text processor. (The parameter could
* be a variable if the entire string in $text has been passed into t() or
* new TranslatableMarkup() elsewhere as the first argument, but that
* strategy is not recommended.)
*
* It is especially important never to call new TranslatableMarkup($user_text)
* or t($user_text) where $user_text is some text that a user entered -- doing
* that can lead to cross-site scripting and other security problems. However,
* you can use variable substitution in your string, to put variable text such
* as user names or link URLs into translated text. Variable substitution
* looks like this:
* @code
* new TranslatableMarkup("@name's blog", ['@name' => $account->getDisplayName()]);
* @endcode
* Basically, you can put placeholders like @name into your string, and the
* method will substitute the sanitized values at translation time. (See the
* Localization API pages referenced above and the documentation of
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* for details about how to safely and correctly define variables in your
* string.) Translators can then rearrange the string as necessary for the
* language (e.g., in Spanish, it might be "blog de @name").
*
* @param string $string
* A string containing the English text to translate.
* @param array $arguments
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* (optional) The string translation service.
*
* @throws \InvalidArgumentException
* Exception thrown when $string is not a string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\StringTranslationTrait::t()
*
* @ingroup sanitization
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:129
public getUntranslatedString(): string Gets the untranslated string value stored in this translated string.
/**
* Gets the untranslated string value stored in this translated string.
*
* @return string
* The string stored in this wrapper.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:145
public getOption($name): mixed Gets a specific option from this translated string.
/**
* Gets a specific option from this translated string.
*
* @param string $name
* Option name.
*
* @return mixed
* The value of this option or empty string of option is not set.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:158
public getOptions(): mixed[] Gets all options from this translated string.
/**
* Gets all options from this translated string.
*
* @return mixed[]
* The array of options.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:168
public getArguments(): mixed[] Gets all arguments from this translated string.
/**
* Gets all arguments from this translated string.
*
* @return mixed[]
* The array of arguments.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:178
public render(): string Renders the object as a string.
/**
* Renders the object as a string.
*
* @return string
* The translated string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:188
public __sleep(): array Magic __sleep() method to avoid serializing the string translator.
/**
* Magic __sleep() method to avoid serializing the string translator.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:203
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:213
public count(): int Returns the string length.
/**
* Returns the string length.
*
* @return int
* The length of the string.
*/
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/TranslatableMarkup.php:227
public __toString(): string Implements the magic __toString() method.
/**
* Implements the magic __toString() method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:13
public jsonSerialize(): string Returns a representation of the object for use in JSON serialization.
/**
* Returns a representation of the object for use in JSON serialization.
*
* @return string
* The safe string content.
*/
Inherited from Drupal\Component\Render\FormattableMarkup
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:97
protected _die() For test purposes, wrap die() in an overridable method.
/**
* For test purposes, wrap die() in an overridable method.
*/
Defined in <drupal>/core/lib/Drupal/Component/Utility/ToStringTrait.php:31
protected static Drupal\Component\Render\FormattableMarkup::placeholderFormat($string, array $args): string Replaces placeholders in a string with values.
/**
* Replaces placeholders in a string with values.
*
* For convenience examples are listed here. Refer to the parameter
* description for $args for details of the placeholders "@", "%", and ":".
*
* Secure examples.
* @code
* // Return the HTML string "Prefix $some_variable".
* $this->placeholderFormat('Prefix @foo', ['@foo' => $some_variable]);
* // Convert an object to a sanitized string.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => (string) $safe_string_interface_object]);
* // Wrap $some_variable in an <em> tag.
* $this->placeholderFormat('Prefix %foo', ['%foo' => $some_variable]);
* // The following are using the : placeholder inside an HTML tag.
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo" title="static text">link text</a>', [':foo' => $some_variable]);
* $this->placeholderFormat('<a href=":foo">link text</a>', [':foo' => $some_variable]);
* // Use a : placeholder inside an HTML tag.
* $this->placeholderFormat('<img src=":foo" />', [':foo' => '/image.png']);
* @endcode
* The above are typical examples of using the placeholders correctly.
*
* Insecure examples.
* @code
* // The following are using the @ placeholder inside an HTML tag.
* $this->placeholderFormat('<@foo>text</@foo>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a @foo>link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a href="@foo">link text</a>', ['@foo' => $some_variable]);
* $this->placeholderFormat('<a title="@foo">link text</a>', ['@foo' => $some_variable]);
* // Implicitly convert an object to a string, which is not sanitized.
* $this->placeholderFormat('Non-sanitized replacement value: @foo', ['@foo' => $safe_string_interface_object]);
* @endcode
* These are the more common mistakes that can be made. Make sure that your
* site is not using any insecure usages of these placeholders.
*
* @param string $string
* A string containing placeholders. The string itself is expected to be
* safe and correct HTML. Any unsafe content must be in $args and inserted
* via placeholders. It is insecure to use the @ or % placeholders within
* the "<" and ">" of an HTML tag.
* @param array $args
* An associative array of replacements. Each array key should be the same
* as a placeholder in $string. The corresponding value should be a string
* or an object that implements \Drupal\Component\Render\MarkupInterface.
* The args[] value replaces the placeholder in $string. Sanitization and
* formatting will be done before replacement. The type of sanitization
* and formatting depends on the first character of the key:
* - @variable: Use as the default choice for anything displayed on the
* site. Do not use within the "<" and ">" of an HTML tag, such as in
* HTML attribute values. Doing so is a security risk.
* - %variable: Use when @variable would be appropriate, but you want the
* placeholder value to be wrapped in an <em> tag with a placeholder
* class. As with @variable, do not use within the "<" and ">" of an HTML
* tag, such as in HTML attribute values. Doing so is a security risk.
* - :variable: Use when the return value is to be used as a URL value of an
* HTML attribute. Only the "href" attribute is supported. The return
* value is escaped with
* \Drupal\Component\Utility\Html::escape() and filtered for dangerous
* protocols using UrlHelper::stripDangerousProtocols(). Use this when
* using the "href" attribute, ensuring the value is always wrapped in
* quotes.
*
* @return string
* A formatted HTML string with the placeholders replaced.
*
* @ingroup sanitization
*
* @see \Drupal\Core\StringTranslation\TranslatableMarkup
* @see \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* @see \Drupal\Component\Utility\Html::escape()
* @see \Drupal\Component\Utility\UrlHelper::stripDangerousProtocols()
* @see \Drupal\Core\Url::fromUri()
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:175
protected static Drupal\Component\Render\FormattableMarkup::placeholderEscape($value): string Escapes a placeholder replacement value if needed.
/**
* Escapes a placeholder replacement value if needed.
*
* @param string|\Drupal\Component\Render\MarkupInterface $value
* A placeholder replacement value.
*
* @return string
* The properly escaped replacement value.
*/
Defined in <drupal>/core/lib/Drupal/Component/Render/FormattableMarkup.php:237
/**
* {@inheritdoc}
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:21
public getConfigDependencyKey() {@inheritdoc}
$0->getConfigDependencyKey()
/**
* {@inheritdoc}
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:37
protected checkStorageClass($class) {@inheritdoc}
/**
* {@inheritdoc}
*
* @throws \InvalidArgumentException
* If the provided class does not implement
* \Drupal\Core\Entity\ContentEntityStorageInterface.
*
* @see \Drupal\Core\Entity\ContentEntityStorageInterface
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:50
public getRevisionMetadataKeys() {@inheritdoc}
$0->getRevisionMetadataKeys()
/**
* {@inheritdoc}
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:60
public getRevisionMetadataKey($key) {@inheritdoc}
$0->getRevisionMetadataKey()
/**
* {@inheritdoc}
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:67
public hasRevisionMetadataKey($key) {@inheritdoc}
$0->hasRevisionMetadataKey()
/**
* {@inheritdoc}
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:75
public setRevisionMetadataKey($key, $field_name) {@inheritdoc}
$0->setRevisionMetadataKey()
/**
* {@inheritdoc}
*/
Defined in <drupal>/core/lib/Drupal/Core/Entity/ContentEntityType.php:83
public get($property) {@inheritdoc}
$0->get()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:374
public set($property, $value) {@inheritdoc}
$0->set()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:387
public isInternal() {@inheritdoc}
$0->isInternal()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:400
public isStaticallyCacheable() {@inheritdoc}
$0->isStaticallyCacheable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:407
public isRenderCacheable() {@inheritdoc}
$0->isRenderCacheable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:414
public isPersistentlyCacheable() {@inheritdoc}
$0->isPersistentlyCacheable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:421
public getKeys() {@inheritdoc}
$0->getKeys()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:428
public getKey($key) {@inheritdoc}
$0->getKey()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:435
public hasKey($key) {@inheritdoc}
$0->hasKey()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:443
public getOriginalClass() {@inheritdoc}
$0->getOriginalClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:451
public setClass($class) {@inheritdoc}
$0->setClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:458
public entityClassImplements($interface) {@inheritdoc}
$0->entityClassImplements()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:471
public getHandlerClasses() {@inheritdoc}
$0->getHandlerClasses()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:478
public getHandlerClass($handler_type, $nested = false) {@inheritdoc}
$0->getHandlerClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:485
public setHandlerClass($handler_type, $value) {@inheritdoc}
$0->setHandlerClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:496
public hasHandlerClass($handler_type, $nested = false) {@inheritdoc}
$0->hasHandlerClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:504
public getStorageClass() {@inheritdoc}
$0->getStorageClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:519
public setStorageClass($class) {@inheritdoc}
$0->setStorageClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:526
public getFormClass($operation) {@inheritdoc}
$0->getFormClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:545
public setFormClass($operation, $class) {@inheritdoc}
$0->setFormClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:552
public hasFormClasses() {@inheritdoc}
$0->hasFormClasses()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:560
public hasRouteProviders() {@inheritdoc}
$0->hasRouteProviders()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:567
public getListBuilderClass() {@inheritdoc}
$0->getListBuilderClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:574
public setListBuilderClass($class) {@inheritdoc}
$0->setListBuilderClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:581
public hasListBuilderClass() {@inheritdoc}
$0->hasListBuilderClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:589
public getViewBuilderClass() {@inheritdoc}
$0->getViewBuilderClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:596
public setViewBuilderClass($class) {@inheritdoc}
$0->setViewBuilderClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:603
public hasViewBuilderClass() {@inheritdoc}
$0->hasViewBuilderClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:611
public getRouteProviderClasses() {@inheritdoc}
$0->getRouteProviderClasses()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:618
public getAccessControlClass() {@inheritdoc}
$0->getAccessControlClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:625
public setAccessClass($class) {@inheritdoc}
$0->setAccessClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:632
public getAdminPermission() {@inheritdoc}
$0->getAdminPermission()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:640
public getCollectionPermission(): ?string {@inheritdoc}
$0->getCollectionPermission()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:647
public getPermissionGranularity() {@inheritdoc}
$0->getPermissionGranularity()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:654
public getLinkTemplates() {@inheritdoc}
$0->getLinkTemplates()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:661
public getLinkTemplate($key) {@inheritdoc}
$0->getLinkTemplate()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:668
public hasLinkTemplate($key) {@inheritdoc}
$0->hasLinkTemplate()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:676
public setLinkTemplate($key, $path) {@inheritdoc}
$0->setLinkTemplate()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:684
public getBundleEntityType() {@inheritdoc}
$0->getBundleEntityType()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:696
public getBundleOf() {@inheritdoc}
$0->getBundleOf()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:703
public getBundleLabel() {@inheritdoc}
$0->getBundleLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:710
public getBaseTable() {@inheritdoc}
$0->getBaseTable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:725
public showRevisionUi() {@inheritdoc}
$0->showRevisionUi()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:732
public isTranslatable() {@inheritdoc}
$0->isTranslatable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:739
public isRevisionable() {@inheritdoc}
$0->isRevisionable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:746
public getRevisionDataTable() {@inheritdoc}
$0->getRevisionDataTable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:754
public getRevisionTable() {@inheritdoc}
$0->getRevisionTable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:761
public getDataTable() {@inheritdoc}
$0->getDataTable()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:768
public getLabel() {@inheritdoc}
$0->getLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:775
public getCollectionLabel() {@inheritdoc}
$0->getCollectionLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:782
public getSingularLabel() {@inheritdoc}
$0->getSingularLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:793
public getPluralLabel() {@inheritdoc}
$0->getPluralLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:804
public getCountLabel($count) {@inheritdoc}
$0->getCountLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:815
public getUriCallback() {@inheritdoc}
$0->getUriCallback()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:829
public setUriCallback($callback) {@inheritdoc}
$0->setUriCallback()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:836
public getGroup() {@inheritdoc}
$0->getGroup()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:844
public getGroupLabel() {@inheritdoc}
$0->getGroupLabel()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:851
public getListCacheContexts() {@inheritdoc}
$0->getListCacheContexts()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:858
public getListCacheTags() {@inheritdoc}
$0->getListCacheTags()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:865
public getBundleListCacheTags(string $bundle): array {@inheritdoc}
$0->getBundleListCacheTags()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:872
public isCommonReferenceTarget() {@inheritdoc}
$0->isCommonReferenceTarget()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:889
public getConstraints() {@inheritdoc}
$0->getConstraints()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:896
public setConstraints(array $constraints) {@inheritdoc}
$0->setConstraints()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:903
public addConstraint($constraint_name, $options = null) {@inheritdoc}
$0->addConstraint()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:911
public getBundleConfigDependency($bundle) {@inheritdoc}
$0->getBundleConfigDependency()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/Entity/EntityType.php:919
public id() {@inheritdoc}
$0->id()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Component\Plugin\Definition\PluginDefinition
Defined in <drupal>/core/lib/Drupal/Component/Plugin/Definition/PluginDefinition.php:35
public getClass() {@inheritdoc}
$0->getClass()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Component\Plugin\Definition\PluginDefinition
Defined in <drupal>/core/lib/Drupal/Component/Plugin/Definition/PluginDefinition.php:50
public getProvider() {@inheritdoc}
$0->getProvider()
/**
* {@inheritdoc}
*/
Inherited from Drupal\Component\Plugin\Definition\PluginDefinition
Defined in <drupal>/core/lib/Drupal/Component/Plugin/Definition/PluginDefinition.php:57
public __sleep(): array {@inheritdoc}
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:33
public __wakeup(): void {@inheritdoc}
/**
* {@inheritdoc}
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/DependencyInjection/DependencySerializationTrait.php:73
protected t($string, array $args = array(), array $options = array()): \Drupal\Core\StringTranslation\TranslatableMarkup Translates a string to the current language or to a given language.
/**
* Translates a string to the current language or to a given language.
*
* See \Drupal\Core\StringTranslation\TranslatableMarkup::__construct() for
* important security information and usage guidelines.
*
* In order for strings to be localized, make them available in one of the
* ways supported by the
* @link https://www.drupal.org/node/322729 Localization API @endlink. When
* possible, use the \Drupal\Core\StringTranslation\StringTranslationTrait
* $this->t(). Otherwise create a new
* \Drupal\Core\StringTranslation\TranslatableMarkup object.
*
* @param string $string
* A string containing the English text to translate.
* @param array $args
* (optional) An associative array of replacements to make after
* translation. Based on the first character of the key, the value is
* escaped and/or themed. See
* \Drupal\Component\Render\FormattableMarkup::placeholderFormat() for
* details.
* @param array $options
* (optional) An associative array of additional options, with the following
* elements:
* - 'langcode' (defaults to the current language): A language code, to
* translate to a language other than what is used to display the page.
* - 'context' (defaults to the empty context): The context the source
* string belongs to. See the
* @link i18n Internationalization topic @endlink for more information
* about string contexts.
*
* @return \Drupal\Core\StringTranslation\TranslatableMarkup
* An object that, when cast to a string, returns the translated string.
*
* @see \Drupal\Component\Render\FormattableMarkup::placeholderFormat()
* @see \Drupal\Core\StringTranslation\TranslatableMarkup::__construct()
*
* @ingroup sanitization
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/StringTranslationTrait.php:70
protected formatPlural($count, $singular, $plural, array $args = array(), array $options = array()): \Drupal\Core\StringTranslation\PluralTranslatableMarkup Formats a string containing a count of items.
/**
* Formats a string containing a count of items.
*
* @see \Drupal\Core\StringTranslation\TranslationInterface::formatPlural()
*
* @return \Drupal\Core\StringTranslation\PluralTranslatableMarkup
* An object that, when cast to a string, returns the translated string.
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/StringTranslationTrait.php:83
protected getNumberOfPlurals($langcode = null): int Returns the number of plurals supported by a given language.
/**
* Returns the number of plurals supported by a given language.
*
* @see \Drupal\locale\PluralFormulaInterface::getNumberOfPlurals()
*
* @return int
* The number of plurals supported.
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/StringTranslationTrait.php:95
protected getStringTranslation(): \Drupal\Core\StringTranslation\TranslationInterface Gets the string translation service.
/**
* Gets the string translation service.
*
* @return \Drupal\Core\StringTranslation\TranslationInterface
* The string translation service.
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/StringTranslationTrait.php:109
public setStringTranslation(Drupal\Core\StringTranslation\TranslationInterface $translation): $this Sets the string translation service to use.
$0->setStringTranslation()
/**
* Sets the string translation service to use.
*
* @param \Drupal\Core\StringTranslation\TranslationInterface $translation
* The string translation service.
*
* @return $this
*/
Inherited from Drupal\Core\Entity\EntityType
Defined in <drupal>/core/lib/Drupal/Core/StringTranslation/StringTranslationTrait.php:125
public const Drupal\Core\Entity\EntityTypeInterface::ID_MAX_LENGTH :: integer 32
public const Drupal\Core\Entity\EntityTypeInterface::BUNDLE_MAX_LENGTH :: integer 32