Template Compiler creates invalid Class names
The "identifier" of a compiled template is based on the last modification timestamp and on the name of the original template/partial/layout.
In Core/Compiler/TemplateCompiler::store() this identifier is used as part of the class name for the compiled template without sanitizing the string first. This leads to invalid class names (= fatal error) if the identifier contains (for example) a dash.
Note: This also affects v4 and needs to be backported!
Updated by Bastian Waidelich over 10 years ago
Variable names follow the same rules as other labels in PHP [...]
As a regular expression, it would be expressed thus: '[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'