Nicolas Grekas
e53806e99c
Fix compiled float literals depending on the serialize_precision ini setting
2026-10-09 17:38:55 +02:00
Fabien Potencier
679447fa29
Encode single quotes as \x27 in Compiler::string()
...
This is a defense-in-depth measure: callers must always concatenate the
result into a double-quoted PHP context, but if one ever (mistakenly)
embeds it inside a single-quoted PHP literal, an attacker-controlled
single quote in the source value could break out of that context. The
previous commit fixed exactly such a bug in ModuleNode for the {% use %}
template name.
Encoding ' as the hex escape \x27 guarantees that the emitted PHP source
never contains a literal single quote derived from user input, while the
decoded runtime value is unchanged. \' is not used because it is not a
recognized escape sequence in PHP double-quoted strings (the backslash
would be kept literally).
2026-05-19 22:58:27 +02:00
Fabien Potencier
151aa4ecda
Fix CS
2025-02-14 12:57:03 +01:00
Fabien Potencier
49f384f107
Use [] instead of array() to represent a constant value in compiled code
2024-11-29 21:57:12 +01:00
Fabien Potencier
9d9c9d81e9
Improve YieldReady support docs
2024-11-11 09:38:36 +01:00
Fabien Potencier
fc15e7ccbc
Rename Node classes related to variables
2024-10-23 12:36:57 +02:00
andreybolonin1989@gmail.com
28923f4269
Use CPP in full code base
2024-08-29 19:29:39 +02:00
Fabien Potencier
b63bde3063
Optimize sprintf() calls for PHP 8.4
2024-06-21 08:16:55 +02:00
Nicolas Grekas
e70777405d
Add #[YieldReady] to allow extensions to tell when they're ready for yielding
2024-02-15 10:27:26 +01:00
Fabien Potencier
14d3803647
Add a deprecation when a Node uses echo/print
2024-01-25 13:09:58 +01:00
Fabien Potencier
824dbd9e21
Add Compile::reset()
2022-12-26 17:10:13 +01:00
Fabien Potencier
63b3ddd11a
Merge branch '2.x' into 3.x
...
* 2.x:
Hashing is not necessary to generate unique variable names during compilation
2021-12-14 15:28:12 -08:00
Jérôme Tamarelle
ba2b4e6dfe
Hashing is not necessary to generate unique variable names during compilation
2021-12-14 15:26:59 -08:00
Fabien Potencier
13e360972a
Merge branch '2.x' into 3.x
...
* 2.x:
Fix CS
Fix CS
Migrate to the new PHP CS Fixer config file
Fixing links
2021-05-12 09:45:40 +02:00
Fabien Potencier
2dd1d909b9
Fix CS
2021-05-12 09:37:17 +02:00
Fabien Potencier
54cec4e3b8
added type hints
2019-04-26 12:01:21 +02:00
Fabien Potencier
273b666a71
removed the obsolete lib/ directory, removed PSR-0 class aliases
2019-04-23 16:34:05 +02:00
Fabien Potencier
037ee67224
switched to namespace first, PSR-0 as a fallback
2019-03-05 08:14:45 +01:00
Maxime Steinhausser
2c174e4015
Use class_exists instead of require
2017-06-05 23:42:50 +02:00
Nicolas Grekas
5420a5e3f8
Add the aliases
2017-05-25 08:32:07 +02:00
Nicolas Grekas
71af32b306
Add namespaced aliases
2017-05-24 10:12:32 +02:00