Deprecate the range function

This commit is contained in:
Fabien Potencier
2024-10-24 10:38:15 +02:00
parent b0017ad8c3
commit 3d99e595c8
7 changed files with 15 additions and 3 deletions
+1
View File
@@ -1,5 +1,6 @@
# 3.15.0 (2024-XX-XX)
* Deprecate the `range` function, use the `..` operator
* Deprecate `TempNameExpression` in favor of `LocalVariable`
* Deprecate `NameExpression` in favor of `ContextVariable`
* Deprecate `AssignNameExpression` in favor of `AssignContextVariable`
+3
View File
@@ -28,6 +28,9 @@ Functions
Note that it won't be removed in 4.0 to allow a smoother upgrade path.
* The ``range`` function is deprecated as of Twig 3.15, use the ``..`` operator
instead.
Extensions
----------
+5
View File
@@ -1,6 +1,11 @@
``range``
=========
.. warning::
The ``range`` function is deprecated as of Twig 3.15. Use the ``..``
operator instead.
Returns a list containing an arithmetic progression of integers:
.. code-block:: twig
+1 -1
View File
@@ -260,7 +260,7 @@ final class CoreExtension extends AbstractExtension
new TwigFunction('attribute', null, ['parser_callable' => [self::class, 'parseAttributeFunction']]),
new TwigFunction('max', 'max'),
new TwigFunction('min', 'min'),
new TwigFunction('range', 'range'),
new TwigFunction('range', 'range', ['deprecation_info' => new DeprecatedCallableInfo('twig/twig', '3.15')]),
new TwigFunction('constant', [self::class, 'constant']),
new TwigFunction('cycle', [self::class, 'cycle']),
new TwigFunction('random', [self::class, 'random'], ['needs_charset' => true]),
+1
View File
@@ -69,6 +69,7 @@ final class SandboxNodeVisitor implements NodeVisitorInterface
}
// the .. operator is equivalent to the range() function
// To be removed in 4.0
if ($node instanceof RangeBinary && !isset($this->functions['range'])) {
$this->functions['range'] = $node->getTemplateLine();
}
@@ -1,5 +1,7 @@
--TEST--
"range" function
--DEPRECATION--
Since twig/twig 3.15: Twig Function "range" is deprecated in index.twig at line 2.
--TEMPLATE--
{{ range(low=0+1, high=10+0, step=2)|join(',') }}
--DATA--
+2 -2
View File
@@ -2,13 +2,13 @@
Whitespace trimming on tags.
--TEMPLATE--
Trim on control tag:
{% for i in range(1, 9) -%}
{% for i in 1..9 -%}
{{ i }}
{%- endfor %}
Trim on output tag:
{% for i in range(1, 9) %}
{% for i in 1..9 %}
{{- i -}}
{% endfor %}