You are here

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

Namesort descending Modifiers Type Description Overrides
Twig_FileExtensionEscapingStrategy::guess public static function Guesses the best autoescaping strategy based on the file name.