{while condition} tests its condition and, while it holds, renders its content
and tests again. Something inside the content has to change what the condition reads - an
{increment}, a {set} - or the loop never
ends. The variables it counts with are ordinary globals, so their last value is still there
after the loop.
Written on the closing tag - {while} ... {/while $i lt 10} - the condition is
tested after each pass instead of before it: a do-while, whose content renders once even when
the condition is false from the start.
{until} is the same loop with the test turned round: it runs while the condition is false. {break} leaves the loop at once, {cease} lets the current pass finish and asks for no further one, and {continue} skips the rest of the current pass.
A loop whose condition never turns is stopped after 10000 passes (the sequences' ceiling,
$padSeqDefaultTries) instead of running until PHP's time limit; under the strict
syntax check that is an error naming the loop. A {while} without a condition or
without its closing tag is an error as well. To repeat over data or a fixed range, a data tag
or {sequence '1..10'} is simpler.