カテゴリ: Symfony 更新日: 2026/02/16

Symfony Twig入門|条件分岐とループをやさしく理解するテンプレート活用術

Twigで条件分岐とループを使いこなすテクニック
Twigで条件分岐とループを使いこなすテクニック

先生と生徒の会話形式で理解しよう

生徒

「SymfonyのTwigって聞いたことはあるんですが、何ができるものなんですか?」

先生

「Twigは、画面に表示するHTMLを作るための仕組みで、条件分岐や繰り返しも簡単に書けます。」

生徒

「プログラミングをやったことがなくても使えますか?」

先生

「大丈夫です。今日はTwigの条件分岐とループを、例え話を交えながら説明します。」

1. Twigとは何かを超やさしく説明

1. Twigとは何かを超やさしく説明
1. Twigとは何かを超やさしく説明

Twig(トゥイッグ)は、Symfonyで使われるテンプレートエンジンです。 テンプレートエンジンとは、「画面に表示する設計図」のようなものです。 PHPだけでHTMLを書くとごちゃごちゃしやすくなりますが、Twigを使うと 「表示専用のファイル」として整理できます。

例えるなら、レストランでいう「料理人」と「メニュー表」の関係です。 PHPは料理人で、Twigはお客さんに見せるメニュー表です。 Twigでは、条件によって表示を変えたり、同じ形を何度も並べたりできます。

2. Twigの基本構文を知ろう

2. Twigの基本構文を知ろう
2. Twigの基本構文を知ろう

Twigでは、特別な記号を使って処理を書きます。 表示したい値は {{ }}、命令は {% %} を使います。 この違いを知るだけで、Twigの読みやすさが一気に上がります。

{{ }} は「中身を表示する箱」、 {% %} は「指示を書くメモ」だと思ってください。

3. Twigで条件分岐(if文)を使う

3. Twigで条件分岐(if文)を使う
3. Twigで条件分岐(if文)を使う

条件分岐とは、「もし〜だったら表示する」という考え方です。 雨の日に傘を持つかどうかを決める感覚と同じです。 Twigでは if を使って条件分岐を書きます。


{% if isLogin %}
<p>ログイン中です</p>
{% endif %}

この例では、ログインしているときだけ文章が表示されます。 条件が合わない場合は、何も表示されません。

4. elseとelseifで分かれ道を作る

4. elseとelseifで分かれ道を作る
4. elseとelseifで分かれ道を作る

条件が一つだけでなく、「そうでなければ別の表示」をしたいときもあります。 そんなときに使うのが elseelseif です。 信号機で「赤・青・黄色」を判断するようなイメージです。


{% if age < 20 %}

未成年です

{% else %}

成人です

{% endif %}

条件に合う場所だけが表示されるので、画面がスッキリします。

5. Twigのループ(for文)で繰り返し表示

5. Twigのループ(for文)で繰り返し表示
5. Twigのループ(for文)で繰り返し表示

同じ形のデータを何度も表示したいときは、ループを使います。 これは「名簿を上から順番に読む」ような感覚です。 Twigでは for を使って繰り返しを書きます。


{% for name in names %}
<p>{{ name }}</p>
{% endfor %}

配列の中身を一つずつ取り出して表示できます。 手作業で何行も書かなくてよいので、とても便利です。

6. ループの中で条件分岐を使う

6. ループの中で条件分岐を使う
6. ループの中で条件分岐を使う

Twigでは、ループの中に条件分岐を書くこともできます。 これは「並んでいる人の中で、大人だけに案内する」ようなイメージです。


{% for user in users %}
    {% if user.active %}
        <p>{{ user.name }}:有効</p>
    {% else %}
        <p>{{ user.name }}:無効</p>
    {% endif %}
{% endfor %}

一覧表示と条件分岐を組み合わせることで、実用的な画面が作れます。

7. 初心者がつまずきやすいポイント

7. 初心者がつまずきやすいポイント
7. 初心者がつまずきやすいポイント

Twigでよくある失敗は、記号の書き間違いです。 {{ }}{% %} を逆に書くとエラーになります。 また、閉じ忘れも多いので、endifendfor を 忘れないようにしましょう。

エラーが出たら「どこからどこまでが条件か」を指で追って確認すると理解しやすくなります。

8. Twigを使うメリットを実感しよう

8. Twigを使うメリットを実感しよう
8. Twigを使うメリットを実感しよう

Twigを使うと、画面の見た目と処理の役割が分かれます。 そのため、後から見直しても内容が理解しやすくなります。 SymfonyとTwigを組み合わせることで、保守しやすいWebアプリが作れます。

条件分岐とループを使いこなせるようになると、 表示の自由度が一気に広がります。

カテゴリの一覧へ
新着記事
New1
Laravel
LaravelでAPIのレスポンスをテストする方法を完全解説!assertJsonで初心者も安心
New2
CodeIgniter
CodeIgniterでRESTful API開発!初心者でもわかる全体構成ガイド
New3
Symfony
Symfonyのコントローラとは?作成・構造・役割を初心者向けにやさしく解説!
New4
Symfony
Symfonyでバリデーションメッセージを多言語対応する方法!初心者でもわかる国際化の基本
人気記事
No.1
Java&Spring記事人気No1
Laravel
Laravelのシングルアクションコントローラとは?使い方と利点
No.2
Java&Spring記事人気No2
Laravel
Laravelで動的パラメータをルートに渡す方法!初心者にもやさしいルートパラメータの使い方入門
No.3
Java&Spring記事人気No3
Laravel
Laravelでキャッシュを使う方法(ファイル・Redis・Memcached)
No.4
Java&Spring記事人気No4
Laravel
LaravelのBlade構文まとめ!@if @foreach など基本ディレクティブ解説
No.5
Java&Spring記事人気No5
Symfony
Symfonyの依存性注入(DI)とは?コンストラクタでの注入方法を初心者向けに徹底解説
No.6
Java&Spring記事人気No6
Laravel
Laravelのマイグレーション履歴を確認する方法を徹底解説!migrate:statusの使い方
No.7
Java&Spring記事人気No7
Laravel
Laravelで名前付きルートを設定する方法!初心者でもわかるroute()関数の使い方
No.8
Java&Spring記事人気No8
Laravel
Laravelでファクトリを使ってテストデータを作成する方法を完全解説!初心者向けLaravelテスト入門