Yaffs site version 1.1
[yaffs-website] / vendor / twig / twig / doc / tags / if.rst
diff --git a/vendor/twig/twig/doc/tags/if.rst b/vendor/twig/twig/doc/tags/if.rst
new file mode 100644 (file)
index 0000000..12edf98
--- /dev/null
@@ -0,0 +1,76 @@
+``if``
+======
+
+The ``if`` statement in Twig is comparable with the if statements of PHP.
+
+In the simplest form you can use it to test if an expression evaluates to
+``true``:
+
+.. code-block:: jinja
+
+    {% if online == false %}
+        <p>Our website is in maintenance mode. Please, come back later.</p>
+    {% endif %}
+
+You can also test if an array is not empty:
+
+.. code-block:: jinja
+
+    {% if users %}
+        <ul>
+            {% for user in users %}
+                <li>{{ user.username|e }}</li>
+            {% endfor %}
+        </ul>
+    {% endif %}
+
+.. note::
+
+    If you want to test if the variable is defined, use ``if users is
+    defined`` instead.
+
+You can also use ``not`` to check for values that evaluate to ``false``:
+
+.. code-block:: jinja
+
+    {% if not user.subscribed %}
+        <p>You are not subscribed to our mailing list.</p>
+    {% endif %}
+
+For multiple conditions, ``and`` and ``or`` can be used:
+
+.. code-block:: jinja
+
+    {% if temperature > 18 and temperature < 27 %}
+        <p>It's a nice day for a walk in the park.</p>
+    {% endif %}
+
+For multiple branches ``elseif`` and ``else`` can be used like in PHP. You can
+use more complex ``expressions`` there too:
+
+.. code-block:: jinja
+
+    {% if kenny.sick %}
+        Kenny is sick.
+    {% elseif kenny.dead %}
+        You killed Kenny! You bastard!!!
+    {% else %}
+        Kenny looks okay --- so far
+    {% endif %}
+
+.. note::
+
+    The rules to determine if an expression is ``true`` or ``false`` are the
+    same as in PHP; here are the edge cases rules:
+
+    ====================== ====================
+    Value                  Boolean evaluation
+    ====================== ====================
+    empty string           false
+    numeric zero           false
+    whitespace-only string true
+    empty array            false
+    null                   false
+    non-empty array        true
+    object                 true
+    ====================== ====================