diff --git a/src/Extension/CoreExtension.php b/src/Extension/CoreExtension.php index 8cf43ba2f..fc0dd4a4f 100644 --- a/src/Extension/CoreExtension.php +++ b/src/Extension/CoreExtension.php @@ -1054,16 +1054,12 @@ function twig_trim_filter($string, $characterMask = null, $side = 'both') $characterMask = " \t\n\r\0\x0B"; } - switch ($side) { - case 'both': - return trim($string ?? '', $characterMask); - case 'left': - return ltrim($string ?? '', $characterMask); - case 'right': - return rtrim($string ?? '', $characterMask); - default: - throw new RuntimeError('Trimming side must be "left", "right" or "both".'); - } + return match ($side) { + 'both' => trim($string ?? '', $characterMask), + 'left' => ltrim($string ?? '', $characterMask), + 'right' => rtrim($string ?? '', $characterMask), + default => throw new RuntimeError('Trimming side must be "left", "right" or "both".'), + }; } /** diff --git a/src/FileExtensionEscapingStrategy.php b/src/FileExtensionEscapingStrategy.php index 812071bf9..9dbc6356e 100644 --- a/src/FileExtensionEscapingStrategy.php +++ b/src/FileExtensionEscapingStrategy.php @@ -43,18 +43,11 @@ class FileExtensionEscapingStrategy $extension = pathinfo($name, \PATHINFO_EXTENSION); - switch ($extension) { - case 'js': - return 'js'; - - case 'css': - return 'css'; - - case 'txt': - return false; - - default: - return 'html'; - } + return match ($extension) { + 'js' => 'js', + 'css' => 'css', + 'txt' => false, + default => 'html', + }; } } diff --git a/src/Token.php b/src/Token.php index 59279b8fe..860f4c9d1 100644 --- a/src/Token.php +++ b/src/Token.php @@ -91,94 +91,47 @@ final class Token public static function typeToString(int $type, bool $short = false): string { - switch ($type) { - case self::EOF_TYPE: - $name = 'EOF_TYPE'; - break; - case self::TEXT_TYPE: - $name = 'TEXT_TYPE'; - break; - case self::BLOCK_START_TYPE: - $name = 'BLOCK_START_TYPE'; - break; - case self::VAR_START_TYPE: - $name = 'VAR_START_TYPE'; - break; - case self::BLOCK_END_TYPE: - $name = 'BLOCK_END_TYPE'; - break; - case self::VAR_END_TYPE: - $name = 'VAR_END_TYPE'; - break; - case self::NAME_TYPE: - $name = 'NAME_TYPE'; - break; - case self::NUMBER_TYPE: - $name = 'NUMBER_TYPE'; - break; - case self::STRING_TYPE: - $name = 'STRING_TYPE'; - break; - case self::OPERATOR_TYPE: - $name = 'OPERATOR_TYPE'; - break; - case self::PUNCTUATION_TYPE: - $name = 'PUNCTUATION_TYPE'; - break; - case self::INTERPOLATION_START_TYPE: - $name = 'INTERPOLATION_START_TYPE'; - break; - case self::INTERPOLATION_END_TYPE: - $name = 'INTERPOLATION_END_TYPE'; - break; - case self::ARROW_TYPE: - $name = 'ARROW_TYPE'; - break; - case self::SPREAD_TYPE: - $name = 'SPREAD_TYPE'; - break; - default: - throw new \LogicException(sprintf('Token of type "%s" does not exist.', $type)); - } + $name = match ($type) { + self::EOF_TYPE => 'EOF_TYPE', + self::TEXT_TYPE => 'TEXT_TYPE', + self::BLOCK_START_TYPE => 'BLOCK_START_TYPE', + self::VAR_START_TYPE => 'VAR_START_TYPE', + self::BLOCK_END_TYPE => 'BLOCK_END_TYPE', + self::VAR_END_TYPE => 'VAR_END_TYPE', + self::NAME_TYPE => 'NAME_TYPE', + self::NUMBER_TYPE => 'NUMBER_TYPE', + self::STRING_TYPE => 'STRING_TYPE', + self::OPERATOR_TYPE => 'OPERATOR_TYPE', + self::PUNCTUATION_TYPE => 'PUNCTUATION_TYPE', + self::INTERPOLATION_START_TYPE => 'INTERPOLATION_START_TYPE', + self::INTERPOLATION_END_TYPE => 'INTERPOLATION_END_TYPE', + self::ARROW_TYPE => 'ARROW_TYPE', + self::SPREAD_TYPE => 'SPREAD_TYPE', + default => throw new \LogicException(sprintf('Token of type "%s" does not exist.', $type)), + }; return $short ? $name : 'Twig\Token::'.$name; } public static function typeToEnglish(int $type): string { - switch ($type) { - case self::EOF_TYPE: - return 'end of template'; - case self::TEXT_TYPE: - return 'text'; - case self::BLOCK_START_TYPE: - return 'begin of statement block'; - case self::VAR_START_TYPE: - return 'begin of print statement'; - case self::BLOCK_END_TYPE: - return 'end of statement block'; - case self::VAR_END_TYPE: - return 'end of print statement'; - case self::NAME_TYPE: - return 'name'; - case self::NUMBER_TYPE: - return 'number'; - case self::STRING_TYPE: - return 'string'; - case self::OPERATOR_TYPE: - return 'operator'; - case self::PUNCTUATION_TYPE: - return 'punctuation'; - case self::INTERPOLATION_START_TYPE: - return 'begin of string interpolation'; - case self::INTERPOLATION_END_TYPE: - return 'end of string interpolation'; - case self::ARROW_TYPE: - return 'arrow function'; - case self::SPREAD_TYPE: - return 'spread operator'; - default: - throw new \LogicException(sprintf('Token of type "%s" does not exist.', $type)); - } + return match ($type) { + self::EOF_TYPE => 'end of template', + self::TEXT_TYPE => 'text', + self::BLOCK_START_TYPE => 'begin of statement block', + self::VAR_START_TYPE => 'begin of print statement', + self::BLOCK_END_TYPE => 'end of statement block', + self::VAR_END_TYPE => 'end of print statement', + self::NAME_TYPE => 'name', + self::NUMBER_TYPE => 'number', + self::STRING_TYPE => 'string', + self::OPERATOR_TYPE => 'operator', + self::PUNCTUATION_TYPE => 'punctuation', + self::INTERPOLATION_START_TYPE => 'begin of string interpolation', + self::INTERPOLATION_END_TYPE => 'end of string interpolation', + self::ARROW_TYPE => 'arrow function', + self::SPREAD_TYPE => 'spread operator', + default => throw new \LogicException(sprintf('Token of type "%s" does not exist.', $type)), + }; } }