php - starts - twig switch




Come controllare null in Twig? (5)

A seconda di cosa esattamente hai bisogno:

  • is null controlla se il valore è null :

    {% if var is null %}
        {# do something #}
    {% endif %}
    
  • is defined controlla se la variabile è definita:

    {% if var is not defined %}
        {# do something #}
    {% endif %}
    

Inoltre il test di is sameas , che effettua un confronto rigoroso di tipo di due valori, potrebbe essere di interesse per il controllo di valori diversi da null (come false ):

{% if var is sameas(false) %}
    {# do something %}
{% endif %}

Quale costrutto dovrei usare per verificare se un valore è NULL in un modello Twig?



Puoi anche usare una riga per farlo:

{{ yourVariable is not defined ? "Not Assigned" : "Assigned" }}

Senza alcuna ipotesi la risposta è:

{% if var is null %}

Ma questo sarà vero solo se var è esattamente NULL e non qualsiasi altro valore che restituisce false (come zero, stringa vuota e matrice vuota). Inoltre, causerà un errore se var non è definito. Un modo più sicuro sarebbe:

{% if var is not defined or var is null %}

che può essere abbreviato in:

{% if var|default is null %}

Se non si fornisce un argomento al filtro default , si assume NULL (una sorta di valore predefinito predefinito). Quindi il modo più breve e sicuro (lo so) per verificare se una variabile è vuota (null, false, stringa / array vuota, ecc.):

{% if var|default is empty %}

     //test if varibale exist
     {% if var is defined %}
         //todo
     {% endif %}

     //test if variable is not null
     {% if var is not null %}
         //todo
     {% endif %}




short-circuiting