カテゴリ: 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
Symfony
Symfonyのルーティング構成の基本を完全解説!初心者向けにYAML・PHP・アノテーション方式をやさしく紹介
New2
Laravel
Laravelのルートグループの使い方!初心者でもわかるprefixやミドルウェアの設定方法
New3
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点
New4
Symfony
Symfony学習に役立つおすすめドキュメント・教材・リソース一覧【初心者向け】
人気記事
No.1
Java&Spring記事人気No1
PHP
PHPで文字列を結合する方法!ドット演算子と代入演算子の使い方を徹底解説
No.2
Java&Spring記事人気No2
PHP
PHPのif文の使い方を完全ガイド!初心者でもわかる条件分岐の基本
No.3
Java&Spring記事人気No3
Symfony
Symfonyで翻訳(i18n)機能を使う方法を解説!初心者にもわかる国際化対応の基本
No.4
Java&Spring記事人気No4
Laravel
Laravelのresponse()関数の使い方を完全ガイド!初心者でもわかるレスポンス制御とHTTPレスポンスの基本
No.5
Java&Spring記事人気No5
Laravel
LaravelのAPIルーティングを設定する方法!初心者でもわかるapi.phpの使い方
No.6
Java&Spring記事人気No6
CodeIgniter
CodeIgniterルーティングを完全攻略!正規表現でURLを自由自在に操る方法
No.7
Java&Spring記事人気No7
PHP
PHPのswitch文の使い方!多くの条件分岐をスッキリ書く方法と注意点
No.8
Java&Spring記事人気No8
Laravel
Laravelのインストール方法まとめ!ComposerとLaravel Installerの使い方