Fabien Potencier
07b8427e26
Merge branch '3.x' into 4.x
2026-09-25 18:04:23 +02:00
Fabien Potencier
4d5d233776
Compile the generator guard as an unreachable yield instead of a yield from
2026-09-22 22:00:07 +01:00
Fabien Potencier
44eb4242ad
Merge branch '3.x' into 4.x
...
* 3.x:
Resolve block chains against the render context instead of freezing lineages
Resolve constant parent templates once instead of on every lookup
Template runtime and block composition
Fix wrapping the Twig cache pool in a second tag aware adapter
Check that the use tag is allowed before resolving trait templates
# Conflicts:
# CHANGELOG
# extra/twig-extra-bundle/TwigExtraBundle.php
# src/Template.php
2026-09-12 09:57:39 +02:00
Fabien Potencier
c53b6468c9
Resolve constant parent templates once instead of on every lookup
2026-09-11 06:17:05 -07:00
Fabien Potencier
986a765019
Merge branch '3.x' into 4.x
...
* 3.x:
Redesign macro calls and argument handling
# Conflicts:
# CHANGELOG
# doc/deprecated.rst
# src/ExpressionParser/Infix/ArgumentsTrait.php
# src/ExpressionParser/Infix/DotExpressionParser.php
# src/ExpressionParser/Infix/FunctionExpressionParser.php
# src/Extension/CoreExtension.php
# src/Node/Expression/MacroReferenceExpression.php
# src/Node/Expression/MethodCallExpression.php
# src/Node/Expression/TempNameExpression.php
# src/Node/MacroNode.php
# src/Node/ModuleNode.php
# src/Template.php
# tests/Fixtures/macros/call_without_parentheses.legacy.test
# tests/Node/Expression/MacroReferenceTest.php
# tests/Node/MacroTest.php
2026-07-30 14:02:30 +02:00
Fabien Potencier
d7f8b4eb1c
Redesign macro calls and argument handling
2026-07-30 13:53:24 +02:00
Fabien Potencier
be36fee09e
Rename macro variable AST nodes
2026-07-28 11:53:50 +02:00
Fabien Potencier
9c6d76b61c
Add void return type hint even in tests
2026-07-12 13:43:08 +02:00
Fabien Potencier
416d07da1d
Add an allow-list for tests to the sandbox security policy
2026-06-06 11:08:56 +02:00
Alexandre Daubois
e9ff55f691
Fix sandbox bypass: PHP code injection via {% use %} template name
2026-05-19 22:50:45 +02:00
Fabien Potencier
861215c507
Fix CS
2026-02-07 09:07:38 +01:00
Nicolas Grekas
85a4817128
CS fixes
2025-07-29 10:07:07 +02:00
Fabien Potencier
d7702840da
Remove $templateName from Template::loadTemplate()
2025-02-21 23:48:41 +01:00
Fabien Potencier
4f8ba93600
Enforce AbstractBinary for all binary operators
2024-11-29 16:51:09 +01:00
Fabien Potencier
494f010d29
Revert "minor #4411 Add return type to getDebugInfo (ruudk)"
...
This reverts commit 868b429853 , reversing
changes made to b0017ad8c3 .
2024-10-25 16:01:04 +02:00
Fabien Potencier
89fdc7d31d
Refactor code
2024-10-25 07:47:55 +02:00
Ruud Kamphuis
0bb49dc40f
Add return type to getDebugInfo
2024-10-24 13:37:17 +02:00
Fabien Potencier
612c7a14be
Improve ImportNode impl
2024-10-24 07:23:37 +02:00
Fabien Potencier
fc15e7ccbc
Rename Node classes related to variables
2024-10-23 12:36:57 +02:00
Fabien Potencier
1105964873
Rework macros handling
2024-10-20 21:53:20 +02:00
Fabien Potencier
8b278986b8
Deprecate using Node directly, introduce EmptyNode and Nodes
2024-09-27 07:42:41 +02:00
Fabien Potencier
dd9af8ec25
feature #4265 Migrate NodeTestCase to static data providers (derrabus)
...
This PR was merged into the 3.x branch.
Discussion
----------
Migrate NodeTestCase to static data providers
PHPUnit 11 requires data providers to be static. This PR prepares our abstract `NodeTestCase` by deprecating the non-static `getTests()` and adding a static `provideTests()` as a replacement. I've also added PHPUnit attributes which newer PHPUnit releases prefer over PHPDoc annotations.
Commits
-------
f555a33c Migrate NodeTestCase to static data providers
2024-09-03 14:03:04 +02:00
Alexander M. Turek
f555a33caf
Migrate NodeTestCase to static data providers
2024-09-03 13:51:42 +02:00
Ruud Kamphuis
09a43a9f6f
Replace return; yield with yield from []
...
This has the same effect, but looks less hacky and makes PHPStan happy.
https://phpstan.org/r/df7fcc88-1df8-428e-b675-5dc6965c34d6
Previously this was needed to work properly with output capturing.
2024-09-03 09:55:58 +02:00
Ruud Kamphuis
7e52a68097
Add more types to Template class and compiled templates
2024-08-30 16:17:55 +02:00
Ruud Kamphuis
bb8b9c197c
Add return type isTraitable
2024-08-29 10:29:47 +02:00
Fabien Potencier
51e93aa130
Deprecate not passing a BodyNode instance as the body of a ModuleNode constructor
2024-08-24 10:49:53 +02:00
Fabien Potencier
f5e10e10f1
Fix CS
2024-08-07 19:34:09 +02:00
Fabien Potencier
e4e95f5b86
Replace template loader mocks by ArrayLoader
2024-07-24 08:27:23 +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
15879406c8
Remove the new yield nodes
2024-01-25 13:09:58 +01:00
Fabien Potencier
3b6cbf98d8
Remove usage of ob_* functions in favor of yielding
2024-01-25 13:09:52 +01:00
Fabien Potencier
54d34b969b
Move functions for CoreExtension
2023-12-10 20:13:10 +01:00
Fabien Potencier
4be326aeeb
Fix tests and CS
2023-11-21 14:57:52 +01:00
Fabien Potencier
5193653ecb
Fix CS
2023-10-08 09:05:22 +02:00
Fabien Potencier
879fb0adcc
Merge branch '2.x' into 3.x
...
* 2.x:
removed usage of getmockBuilder() when not needed
removed usage of getmockBuilder() when not needed
2019-08-08 13:35:34 +02:00
Fabien Potencier
656c295ed9
Merge branch '1.x' into 2.x
...
* 1.x:
removed usage of getmockBuilder() when not needed
2019-08-08 13:33:07 +02:00
Fabien Potencier
5861a539e4
removed usage of getmockBuilder() when not needed
2019-08-08 11:59:51 +02:00
Fabien Potencier
6823b64cad
moved test under tests/
2019-06-30 14:56:12 +02:00
Fabien Potencier
1e3bb75010
moved test under tests/
2019-06-30 14:51:54 +02:00
Fabien Potencier
22a1317249
moved tests under tests/
2019-06-30 14:48:27 +02:00