Intento usar un bucle simple, en mi código real, este bucle es más complejo y necesito breakesta iteración como:
{% for post in posts %}
{% if post.id == 10 %}
{# break #}
{% endif %}
<h2>{{ post.heading }}</h2>
{% endfor %}
¿Cómo puedo utilizar el comportamiento del breako continuede estructuras de control de PHP en la ramita?

firstfiltro twigset break = truea continuación se ejecutará a menos que lo ponga en unaelsedeclaración. Ver twigfiddle.com/euio5wset break = trueal final . Pero sí, depende de su código, así que gracias por mencionarlo para aclararloDe los documentos TWIG docs :
Pero aún:
Ejemplo 1 (para grandes listas puede filtrar los mensajes usando rebanada ,
slice(start, length)):Ejemplo 2:
Incluso puede usar sus propios filtros TWIG para condiciones más complejas, como:
fuente
{% for post in posts|slice(0,10) %}Unlike in PHP, it's not possible to break or continue in a loop.cuando leí los documentos. Pero creo quebreakycontinuees una buena característica, que debería agregarfordebería ser rompible después del primer golpe. La respuesta de @VictorBocharsky es correcta{% for post in posts|slice(0,10) %}para listas enormes. Vea mi primer comentario. También actualicé mi respuesta.Una forma de poder usar
{% break %}o{% continue %}es escribirTokenParsers para ellos.Lo hice por el
{% break %}token en el siguiente código. Puede, sin muchas modificaciones, hacer lo mismo con el{% continue %}.AppBundle \ Twig \ AppExtension.php :
AppBundle \ Twig \ BreakToken.php :
AppBundle \ Twig \ BreakNode.php :
Luego, simplemente puede usar
{% break %}para salir de bucles como este:Para ir aún más lejos, puede escribir analizadores de tokens para
{% continue X %}y{% break X %}(donde X es un número entero> = 1) para salir / continuar múltiples bucles como en PHP .fuente
squirrelphp/twig-php-syntaxbiblioteca ofrece{% break %},{% break n %}y{% continue %}fichas.Del comentario de @NHG - funciona perfectamente
fuente
He encontrado una buena solución para continuar (me encanta el ejemplo de descanso anterior). Aquí no quiero incluir "agencia". En PHP, "continuaría" pero en twig, se me ocurrió una alternativa:
O simplemente lo omito si no cumple con mis criterios:
fuente