Fabien Potencier
ce013c063e
Remove deprecated code
2026-07-30 14:14:10 +02: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
0b6e824ea8
Merge branch '3.x' into 4.x
...
* 3.x:
Add void return type hint even in tests
Run php-cs-fixer sequentially so the void_return src-only customiser is applied
Fix CHANGELOG
[Intl] Add format_list filter using PHP 8.5's IntlListFormatter
# Conflicts:
# .github/workflows/ci.yml
# CHANGELOG
# extra/cssinliner-extra/Tests/LegacyFunctionsTest.php
# extra/html-extra/Tests/CvaTest.php
# extra/html-extra/Tests/HtmlAttrMergeTest.php
# extra/html-extra/Tests/HtmlAttrTest.php
# extra/html-extra/Tests/LegacyFunctionsTest.php
# extra/inky-extra/Tests/LegacyFunctionsTest.php
# extra/markdown-extra/Tests/FunctionalTest.php
# extra/markdown-extra/Tests/LegacyFunctionsTest.php
# extra/twig-extra-bundle/DependencyInjection/Compiler/MissingExtensionSuggestorPass.php
# extra/twig-extra-bundle/DependencyInjection/TwigExtraExtension.php
# extra/twig-extra-bundle/TwigExtraBundle.php
# src/Extension/CoreExtension.php
# src/Extension/EscaperExtension.php
# src/Node/CheckSecurityCallNode.php
# src/Node/Expression/FunctionExpression.php
# src/Node/ModuleNode.php
# src/Node/Node.php
# src/Node/TypesNode.php
# src/Resources/core.php
# src/Resources/debug.php
# src/Test/IntegrationTestCase.php
# tests/CustomExtensionTest.php
# tests/EnvironmentTest.php
# tests/ExpressionParserTest.php
# tests/Extension/CoreTest.php
# tests/Extension/EscaperTest.php
# tests/Extension/LegacyDebugFunctionsTest.php
# tests/Extension/LegacyStringLoaderFunctionsTest.php
# tests/Extension/SandboxStateChangeTest.php
# tests/Extension/SandboxTest.php
# tests/LexerTest.php
# tests/Node/Expression/CallTest.php
# tests/Node/Expression/ConditionalTest.php
# tests/Node/NodeTest.php
# tests/Resources/LegacyCoreTest.php
# tests/TemplateTest.php
# tests/Util/CallableArgumentsExtractorTest.php
2026-07-12 13:55:37 +02:00
Fabien Potencier
9c6d76b61c
Add void return type hint even in tests
2026-07-12 13:43:08 +02:00
Fabien Potencier
0facb551b0
Merge branch '3.x' into 4.x
...
* 3.x:
Fix CS
2026-02-07 09:12:05 +01:00
Fabien Potencier
861215c507
Fix CS
2026-02-07 09:07:38 +01:00
Nicolas Grekas
c649c1658b
Merge branch '3.x' into 4.x
...
* 3.x:
CS fixes
Enable Fabbot as a GHA
2025-07-29 10:27:55 +02:00
Nicolas Grekas
85a4817128
CS fixes
2025-07-29 10:07:07 +02:00
Fabien Potencier
e69c1abe6c
Merge branch '3.x' into 4.x
...
* 3.x:
Simplify EscaperNodeVisitor code
Fix having macro variables starting with an underscore
Fix CS
Fix EscapeNodeVisitor::isSafeFor()
Simplify code
2024-11-28 14:21:03 +01:00
Fabien Potencier
bdb0f3c042
Fix having macro variables starting with an underscore
2024-11-26 16:59:45 +01:00
Fabien Potencier
429b13c9b0
Merge branch '3.x' into 4.x
...
* 3.x:
Remove obsolete code
Update CHANGELOG
Sandbox ArrayAccess and do sandbox checks before isset() checks
Fix sandbox handling for __toString()
Fix mistake in docs for `keys` filter
Update CHANGELOG
[String] Add SpanishInflector support for singular and plural
Add `find` to `Filters` docs
Remove duplicate test case
Revert "minor #4411 Add return type to getDebugInfo (ruudk)"
Add `$this` return type to Template::unwrap
Add link to TwigQI in docs "You might also be interested in" section
Add return type to compiled macro
2024-11-06 21:52:30 +01:00
Ruud Kamphuis
1e7c719e24
Add return type to compiled macro
...
This makes it easier for TwigStan to analyze the return type.
2024-10-24 13:51:09 +02:00
Fabien Potencier
ef63506239
Merge branch '3.x' into 4.x
...
* 3.x:
Improve ImportNode impl
Rename Node classes related to variables
2024-10-24 07:57:29 +02:00
Fabien Potencier
fc15e7ccbc
Rename Node classes related to variables
2024-10-23 12:36:57 +02:00
Fabien Potencier
560988e2e1
Merge branch '3.x' into 4.x
...
* 3.x:
Remove MacroAutoImportNodeVisitor
Simplify code
Rework macros handling
2024-10-22 11:13:46 +02:00
Fabien Potencier
72693884c4
Simplify code
2024-10-21 07:20:17 +02:00
Fabien Potencier
5da4b58fc5
Merge branch '3.x' into 4.x
...
* 3.x:
Check reserved names in TempNameExpression
2024-10-15 21:29:05 +02:00
Fabien Potencier
66658a3c1d
Check reserved names in TempNameExpression
2024-10-14 19:42:47 +02:00
Fabien Potencier
ea0ed28111
Merge branch '3.x' into 4.x
...
* 3.x:
Add support for named arguments on macro calls and dot operator arguments
Improve deprecation messages
Simplify expression parser code
Refactor expression parser
chore: fix version added
Cleanup code
2024-10-11 11:46:56 +02:00
Fabien Potencier
223d36bbae
Add support for named arguments on macro calls and dot operator arguments
2024-10-11 11:31:40 +02:00
Fabien Potencier
0c6bd47d6b
Merge branch '3.x' into 4.x
...
* 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
2024-09-27 07:59:52 +02:00
Fabien Potencier
8b278986b8
Deprecate using Node directly, introduce EmptyNode and Nodes
2024-09-27 07:42:41 +02:00
Fabien Potencier
fa1c9f0bf9
Merge branch '3.x' into 4.x
...
* 3.x:
Remove obsolete code
Deprecate Environment::mergeGlobals()
Bump version
Prepare the 3.13.0 release
Fix wrong format of `Environment::VERSION_ID` constant
Fix minor things
Fix CS
Fix isset in ForLoopNode
Fix iterable return type
Improve exception expectations reliability
2024-09-07 17:03:10 +02:00
Fabien Potencier
b86575cfd6
Deprecate Environment::mergeGlobals()
2024-09-07 14:05:02 +02:00
Fabien Potencier
fe7bac8989
Merge branch '3.x' into 4.x
...
* 3.x:
Migrate NodeTestCase to static data providers
2024-09-03 14:51:02 +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
Fabien Potencier
50f8b13adf
Fix tests
2024-09-03 13:58:52 +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
Alexander M. Turek
1e5dea44f9
Fix MacroTest
2024-09-02 18:57:57 +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
Nicolas Grekas
8c43456ac6
Fix capturing output from extensions that still use echo
2024-04-30 16:48:10 +02:00
Gildas de Cadoudal
f7121a23bc
fix : #4029 when use_yield is true CaptureNode use iterator_to_array preserveKeys argument to false
2024-04-18 09:45:09 +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
a9c7307b5c
Tweak code
2024-01-25 13:09:58 +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
Christian Flothmann
665dce899f
rework the CaptureNode implementation
2024-01-01 15:43:59 +01:00
Fabien Potencier
6ebbc30593
Abstract node capture in its own Node
2023-12-30 10:14:36 +01:00
Fabien Potencier
6823b64cad
moved test under tests/
2019-06-30 14:56:12 +02:00