This PR was merged into the 3.x branch.
Discussion
----------
Use get_debug_type() everywhere
Commits
-------
0da899d911 Use get_debug_type() everywhere
* 3.x:
Add an additional example in the docs
Fix ignored parenthesis in expressions
Tweak previous merge
Added details in the doc of filters and functions of IntlExtension
Add more information about the filter and the negative operators
Update plural.rst: Fixing filter name
This PR was merged into the 3.x branch.
Discussion
----------
Add more information about the filter and the negative operators
Refs #974
Refs #1368
Refs #1634
Refs #2470
Commits
-------
fae6cfc32f Add more information about the filter and the negative operators
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Fix ignored parenthesis in expressions
Closes#3705Closes#2891
Commits
-------
1488238e32 Fix ignored parenthesis in expressions
This PR was squashed before being merged into the 3.x branch.
Discussion
----------
Added details in the doc of filters and functions of IntlExtension
Commits
-------
8716392603 Added details in the doc of filters and functions of IntlExtension
This PR was merged into the 3.x branch.
Discussion
----------
Update plural.rst: Fixing filter name
Info is taken from https://github.com/twigphp/Twig/pull/4357#issuecomment-2378435199
Besides, I changed to a more illustrative example word. One of the rare cases where ChatGPT was indeed useful... ;-)
Commits
-------
bd33033fd1 Update plural.rst: Fixing filter name
This PR was merged into the 3.x branch.
Discussion
----------
Implement the `enum` function
Fixes#3681
Requires #4353
Commits
-------
cff6f1ca80 Implement the `enum` function
* 3.x:
Deprecate using Node directly, introduce EmptyNode and Nodes
Add support for inline comments
Update plural.rst: Fixing(?) broken links
Fix CS
Add support for accessing class constants with the dot operator
Fix getting a property on an object casted to an array
Replace strtr() by strtolower()
Improve escape deprecation message
Remove useless assign in compiled code
Add fixture filename as key
Be more precise about double-escaping
Fix template name in error for an unknown dynamic extends called from an include
This PR was merged into the 3.x branch.
Discussion
----------
Update plural.rst: Fixing(?) broken links
More important question: Is the filter's name `plural` or `pluralize`??
Commits
-------
cc3a2b7bac Update plural.rst: Fixing(?) broken links
This PR was merged into the 3.x branch.
Discussion
----------
Add support for inline comments
Closes#4001
Commits
-------
d9d8bb0df3 Add support for inline comments
This PR was merged into the 4.x branch.
Discussion
----------
Add generics for LoopIterator
/cc `@stof`
Commits
-------
a4dc388c62 Add generics for LoopIterator
This PR was merged into the 3.x branch.
Discussion
----------
Fix template name in error for an unknown dynamic extends called from an include
Closes#3265
The code was introduced in #1529, but removing it nowadays does not break any existing test.
Review ignoring whitespace.
Commits
-------
4824f2a4a3 Fix template name in error for an unknown dynamic extends called from an include
This PR was squashed before being merged into the 4.x branch.
Discussion
----------
Simplify compiled `for` loop code
**Do not pass closure as reference**
It's not needed.
**Do not use same var names in loop function**
These variables are passed in when the loop function is invoked when yielding.
Giving them the same internal var names complicates things for no good reason.
Commits
-------
a096c202e3 Do not use same var names in loop function
fcb16a0f86 Do not pass closure as reference
This PR was merged into the 3.x branch.
Discussion
----------
Add support for accessing class constants with the dot operator
This PR allows accessing class constants from objects: `{{ foo.SOME_CONSTANT }}`. This should nicely replace the `constant()` function when an object is at hand, and is actually needed to make the `enum` function work in #4352.
Commits
-------
1ea0452323 Add support for accessing class constants with the dot operator
This PR was merged into the 3.x branch.
Discussion
----------
Fix getting a property on an object casted to an array
Closes#3371
Commits
-------
7d5269e100 Fix getting a property on an object casted to an array
This PR was merged into the 3.x branch.
Discussion
----------
Replace strtr() by strtolower()
The performance of `strtolower()` has been fixed in PHP 8.
Commits
-------
04471ab8cd Replace strtr() by strtolower()
These variables are passed in when the loop function is invoked when yielding.
Giving them the same internal var names complicates things for no good reason.
This PR was merged into the 4.x branch.
Discussion
----------
Remove useless Closure::bind in for loop
This has no effect. The returned value is not used.
https://www.php.net/manual/en/closure.bind.php
Commits
-------
c48aa4649f Remove useless Closure::bind in for loop
This PR was merged into the 4.x branch.
Discussion
----------
Replace `return; yield` with yield from `[]`
See #4259
Commits
-------
317c69d0ff Replace `return; yield` with yield from `[]`