gglnx / twig-empty-coalesce
The empty test and default filter as an operator
Installs: 4 824
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.2.5
- twig/twig: ^2.14|^3.0
Requires (Dev)
README
This library adds a new operator expression to Twig with three question marks (???
) to check if the left value is defined, not null and not empty. Works the same way as the empty
test and the |default
filter.
{% set _null = null %} {% set _empty = '' %} {# Null Coalesce: Output will be string(0) "" because _empty is defined and not exactly null #} {{ dump(_undefined ?? _null ?? _empty ?? 'fallback') }} {# Default Filter: Output will be string(8) "fallback" because _empty is defined, but an empty string #} {{ dump(_undefined | default(_null | default(_empty | default('fallback')))) }} {# Same as the default filter, but much more readable #} {{ dump(_undefined ??? _null ??? _empty ??? 'fallback') }}
Requirements
- Twig >=2.14 and Twig >=3.0
- PHP >=7.4
Installation
The recommended way to install this loader is via Composer:
composer require gglnx/twig-empty-coalesce
You can install this library as extension in:
require_once '/path/to/vendor/autoload.php'; $twig = new \Twig\Environment($loader); $twig->addExtension(new \Gglnx\TwigEmptyCoalesce\Extension\EmptyCoalesceExtension());