Yaffs site version 1.1
[yaffs-website] / vendor / twig / twig / doc / tags / with.rst
diff --git a/vendor/twig/twig/doc/tags/with.rst b/vendor/twig/twig/doc/tags/with.rst
new file mode 100644 (file)
index 0000000..815b069
--- /dev/null
@@ -0,0 +1,44 @@
+``with``
+========
+
+.. versionadded:: 1.28
+    The ``with`` tag was added in Twig 1.28.
+
+Use the ``with`` tag to create a new inner scope. Variables set within this
+scope are not visible outside of the scope:
+
+.. code-block:: jinja
+
+    {% with %}
+        {% set foo = 42 %}
+        {{ foo }}           foo is 42 here
+    {% endwith %}
+    foo is not visible here any longer
+
+Instead of defining variables at the beginning of the scope, you can pass a
+hash of variables you want to define in the ``with`` tag; the previous example
+is equivalent to the following one:
+
+.. code-block:: jinja
+
+    {% with { foo: 42 } %}
+        {{ foo }}           foo is 42 here
+    {% endwith %}
+    foo is not visible here any longer
+
+    {# it works with any expression that resolves to a hash #}
+    {% set vars = { foo: 42 } %}
+    {% with vars %}
+        ...
+    {% endwith %}
+
+By default, the inner scope has access to the outer scope context; you can
+disable this behavior by appending the ``only`` keyword:
+
+.. code-block:: jinja
+
+    {% set bar = 'bar' %}
+    {% with { foo: 42 } only %}
+        {# only foo is defined #}
+        {# bar is not defined #}
+    {% endwith %}