class Twig_FileExtensionEscapingStrategy in Translation template extractor 7.3
Default autoescaping strategy based on file names.
This strategy sets the HTML as the default autoescaping strategy, but changes it based on the filename.
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
Expanded class hierarchy of Twig_FileExtensionEscapingStrategy
1 string reference to 'Twig_FileExtensionEscapingStrategy'
- Twig_Extension_Escaper::setDefaultStrategy in vendor/
Twig/ Extension/ Escaper.php - Sets the default strategy to use when not defined by the user.
File
- vendor/
Twig/ FileExtensionEscapingStrategy.php, line 23
View source
class Twig_FileExtensionEscapingStrategy {
/**
* Guesses the best autoescaping strategy based on the file name.
*
* @param string $filename The template file name
*
* @return string|false The escaping strategy name to use or false to disable
*/
public static function guess($filename) {
if (in_array(substr($filename, -1), array(
'/',
'\\',
))) {
return 'html';
// return html for directories
}
if ('.twig' === substr($filename, -5)) {
$filename = substr($filename, 0, -5);
}
$extension = pathinfo($filename, PATHINFO_EXTENSION);
switch ($extension) {
case 'js':
return 'js';
case 'css':
return 'css';
case 'txt':
return false;
default:
return 'html';
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
Twig_FileExtensionEscapingStrategy:: |
public static | function | Guesses the best autoescaping strategy based on the file name. |