From 9ff9a4d3c089363ad1485ea263989a5901aef00b Mon Sep 17 00:00:00 2001 From: Nicolas Sauveur Date: Mon, 24 Feb 2020 15:27:08 +0100 Subject: [PATCH 1/3] Update default.rst Add warning for potentially confusing behaviour and alternative solution. --- doc/filters/default.rst | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/filters/default.rst b/doc/filters/default.rst index c4ccb56a5..e616e590c 100644 --- a/doc/filters/default.rst +++ b/doc/filters/default.rst @@ -21,6 +21,15 @@ undefined: .. code-block:: twig {{ var.method(foo|default('foo'))|default('foo') }} + +Using the ``default`` filter on a boolean variable might trigger unexpected behaviour, as +``false`` is treated as an empty value. Consider using ``??`` instead: + +.. code-block:: twig + + {% set foo = false %} + {{ foo|default(true) }} {# true #} + {{ foo ?? true }} {# false #} .. note:: From 60d5b4bcf718ffa3f326994e87f062175a113d9e Mon Sep 17 00:00:00 2001 From: Hector Prats Date: Fri, 21 Feb 2020 01:19:11 +0100 Subject: [PATCH 2/3] Identity Equals - Best practices --- src/Extension/CoreExtension.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Extension/CoreExtension.php b/src/Extension/CoreExtension.php index 5ff1e39ee..25371730b 100644 --- a/src/Extension/CoreExtension.php +++ b/src/Extension/CoreExtension.php @@ -539,11 +539,11 @@ function twig_replace_filter($str, $from, $to = null) */ function twig_round($value, $precision = 0, $method = 'common') { - if ('common' == $method) { + if ('common' === $method) { return round($value, $precision); } - if ('ceil' != $method && 'floor' != $method) { + if ('ceil' !== $method && 'floor' !== $method) { throw new RuntimeError('The round filter only supports the "common", "ceil", and "floor" methods.'); } @@ -1504,7 +1504,7 @@ function twig_to_array($seq, $preserveKeys = true) function twig_test_empty($value) { if ($value instanceof \Countable) { - return 0 == \count($value); + return 0 === \count($value); } if ($value instanceof \Traversable) { From fabbac881662b95dcabe68379b5656113deaedf7 Mon Sep 17 00:00:00 2001 From: Ryan Weaver Date: Mon, 16 Mar 2020 14:27:09 -0400 Subject: [PATCH 3/3] Tweaking phpdoc above Environment --- src/Environment.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Environment.php b/src/Environment.php index 25d4623e8..831acb7a4 100644 --- a/src/Environment.php +++ b/src/Environment.php @@ -35,7 +35,7 @@ use Twig\RuntimeLoader\RuntimeLoaderInterface; use Twig\TokenParser\TokenParserInterface; /** - * Stores the Twig configuration. + * Stores the Twig configuration and renders templates. * * @author Fabien Potencier */