class StringLoader
Same name in other branches
- 9 core/lib/Drupal/Core/Template/Loader/StringLoader.php \Drupal\Core\Template\Loader\StringLoader
- 8.9.x core/lib/Drupal/Core/Template/Loader/StringLoader.php \Drupal\Core\Template\Loader\StringLoader
- 11.x core/lib/Drupal/Core/Template/Loader/StringLoader.php \Drupal\Core\Template\Loader\StringLoader
Loads string templates, also known as inline templates.
This loader is intended to be used in a Twig loader chain and only loads string templates that begin with the following comment:
{# inline_template_start #}
This class override ensures that the string loader behaves as expected in the loader chain. If Twig's string loader is used as is, any string (even a reference to a file-based Twig template) is treated as a valid template and is rendered instead of a \Twig\Error\LoaderError exception being thrown.
Hierarchy
- class \Drupal\Core\Template\Loader\StringLoader implements \Twig\Loader\LoaderInterface
Expanded class hierarchy of StringLoader
See also
\Drupal\Core\Template\TwigEnvironment::renderInline()
\Drupal\Core\Render\Element\InlineTemplate
3 files declare their use of StringLoader
- AttributeTest.php in core/
tests/ Drupal/ Tests/ Core/ Template/ AttributeTest.php - TwigExtensionTest.php in core/
tests/ Drupal/ Tests/ Core/ Template/ TwigExtensionTest.php - TwigSandboxTest.php in core/
tests/ Drupal/ Tests/ Core/ Template/ TwigSandboxTest.php
1 string reference to 'StringLoader'
- core.services.yml in core/
core.services.yml - core/core.services.yml
1 service uses StringLoader
File
-
core/
lib/ Drupal/ Core/ Template/ Loader/ StringLoader.php, line 26
Namespace
Drupal\Core\Template\LoaderView source
class StringLoader implements LoaderInterface {
/**
* {@inheritdoc}
*/
public function exists($name) {
if (str_starts_with($name, '{# inline_template_start #}')) {
return TRUE;
}
else {
return FALSE;
}
}
/**
* {@inheritdoc}
*/
public function getCacheKey(string $name) : string {
return $name;
}
/**
* {@inheritdoc}
*/
public function isFresh(string $name, int $time) : bool {
return TRUE;
}
/**
* {@inheritdoc}
*/
public function getSourceContext(string $name) : Source {
$name = (string) $name;
return new Source($name, $name);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
StringLoader::exists | public | function | |
StringLoader::getCacheKey | public | function | |
StringLoader::getSourceContext | public | function | |
StringLoader::isFresh | public | function |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.