FORSMILE
EN
Twig2021/01/21

Twig if文の使い方|条件分岐・空判定・defined・and/orの実例

Twigのif文を基本構文からnot、and/or、empty、definedまで実例で整理。条件が複雑になった時の読みやすい書き方も解説します。

ブログ一覧へ / Back to Blog
Quick Answer / まず結論

Twig if文の最短チェック

Twigの条件分岐は {% if condition %} ... {% endif %} が基本です。否定は not、複数条件は and / or、空判定は is empty を使います。

Twig syntax guide

Twig if文の基本

Twigの条件分岐は {% if 条件 %} で始め、{% endif %} で閉じます。elseやelseifも利用できます。

twig
{% if user.isActive %}
  <p>{{ user.name|e }}さん、ようこそ</p>
{% elseif user is defined %}
  <p>アカウントは停止中です</p>
{% else %}
  <p>ログインしてください</p>
{% endif %}

empty・defined・notで安全に判定する

値が渡らない可能性がある場合はdefinedを先に確認します。空文字、空配列、nullなどの確認にはemptyが使えます。

twig
{% if products is defined and products is not empty %}
  {{ products|length }}件の商品があります
{% else %}
  商品はありません
{% endif %}

and / orを使う複合条件

twig
{% if user.isActive and (user.role == 'admin' or user.role == 'editor') %}
  <a href="/admin">管理画面</a>
{% endif %}
  • 条件を括弧でまとめ、評価順を明確にする
  • 未定義の可能性がある変数はdefinedで確認する
  • 表示時はautoescapeの設定を確認し、必要に応じてeフィルターを使う
Related articles