Skip to content

Commit

Permalink
feature #4178 Constant expr as final (fabpot)
Browse files Browse the repository at this point in the history
This PR was squashed before being merged into the 3.x branch.

Discussion
----------

Constant expr as final

Closes #4119

Commits
-------

230e31d Add a recipe about how to mark a node as safe
693693b Mark ConstantExpression as `@final`
  • Loading branch information
fabpot committed Aug 7, 2024
2 parents f5e10e1 + 230e31d commit 15854ca
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# 3.11.0 (2024-XX-XX)

* Mark `ConstantExpression` as being `@final`
* Add the `find` filter
* Fix optimizer mode validation in `OptimizerNodeVisitor`
* Add the possibility to yield from a generator in `PrintNode`
Expand Down
11 changes: 11 additions & 0 deletions doc/recipes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -528,4 +528,15 @@ include in your templates:
'tag_variable' => ['{[', ']}'],
]));

Marking a Node as being safe
----------------------------

When using the escaper extension, you might want to mark some nodes as being
safe to avoid any escaping. You can do so by wrapping your expression with a
``RawFilter`` node::

use Twig\Node\Expression\Filter\RawFilter;

$safeExpr = new RawFilter(new YourSafeNode());

.. _callback: https://www.php.net/manual/en/function.is-callable.php
3 changes: 3 additions & 0 deletions src/Node/Expression/ConstantExpression.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@

use Twig\Compiler;

/**
* @final
*/
class ConstantExpression extends AbstractExpression
{
public function __construct($value, int $lineno)
Expand Down

0 comments on commit 15854ca

Please sign in to comment.