Skip to content

gglnx/twig-empty-coalesce

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Empty Coalesce Operator for Twig

Packagist

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());

About

The empty test and default filter as an operator

Topics

Resources

License

Stars

Watchers

Forks

Languages