class FileExtensionEscapingStrategy
Default autoescaping strategy based on file names.
This strategy sets the HTML as the default autoescaping strategy, but changes it based on the template name.
Note that there is no runtime performance impact as the default autoescaping strategy is set at compilation time.
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Twig\FileExtensionEscapingStrategy
Expanded class hierarchy of FileExtensionEscapingStrategy
1 file declares its use of FileExtensionEscapingStrategy
- EscaperExtension.php in vendor/
twig/ twig/ src/ Extension/ EscaperExtension.php
File
-
vendor/
twig/ twig/ src/ FileExtensionEscapingStrategy.php, line 25
Namespace
TwigView source
class FileExtensionEscapingStrategy {
/**
* Guesses the best autoescaping strategy based on the file name.
*
* @param string $name The template name
*
* @return string|false The escaping strategy name to use or false to disable
*/
public static function guess(string $name) {
if (\in_array(substr($name, -1), [
'/',
'\\',
])) {
return 'html';
// return html for directories
}
if (str_ends_with($name, '.twig')) {
$name = substr($name, 0, -5);
}
$extension = pathinfo($name, \PATHINFO_EXTENSION);
switch ($extension) {
case 'js':
case 'json':
return 'js';
case 'css':
return 'css';
case 'txt':
return false;
default:
return 'html';
}
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
FileExtensionEscapingStrategy::guess | public static | function | Guesses the best autoescaping strategy based on the file name. |