Publicado el 3 de Septiembre del 2018
685 visualizaciones desde el 3 de Septiembre del 2018
509,7 KB
271 paginas
Creado hace 12a (29/05/2012)
Twig-es
Release 1.9.0
Traducido por Nacho Pacheco
May 29, 2012
Índice general
I
Introducción
1. Requisitos previos
2. Instalando
2.1.
2.2.
2.3.
2.4.
2.5.
Instalando la versión comprimida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instalando la versión de desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instalando el paquete PEAR .
. . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
.
Instalando vía Composer .
Instalando la extensión C .
.
.
. . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . .
. . . . .
. . . . . . .
.
.
.
.
. . .
. . . . .
. . .
. . .
. . . . .
3. Uso básico de la API
II Twig para diseñadores de plantillas
4. Sinopsis
5. Integrando con IDEs
6. Variables
6.1. Variables globales
.
6.2. Definiendo variables .
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7. Filtros
8. Funciones
9. Estructuras de control
10. Comentarios
11. Incluyendo otras plantillas
12. Herencia en plantillas
1
5
7
7
7
7
7
8
9
11
15
17
19
20
20
21
23
25
27
29
31
I
13. Escapando HTML
13.1. Trabajando con el escape manual
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.2. Trabajando con escape automático . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14. Escapando
15. Macros
16. Expresiones
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16.1. Literales
.
.
16.2. Matemáticas
.
16.3. Lógica .
.
.
16.4. Comparaciones .
.
16.5. Operador de contención .
.
.
16.6. Operador de prueba
.
16.7. Otros operadores .
.
16.8. Interpolando cadenas .
.
.
.
.
.
.
.
.
.
.
.
.
.
17. Controlando el espacio en blanco
18. Extendiendo
III Twig para desarrolladores
19. Fundamentos
20. Opciones del entorno
21. Cargadores
21.1. Caché de compilación .
.
21.2. Cargadores integrados .
.
21.3. Creando tu propio cargador
.
.
22. Usando extensiones
23. Extensiones incorporadas
.
.
23.1. Extensión core .
.
.
23.2. Extensión escaper .
23.3. Extensión sandbox .
.
23.4. Extensión optimizer .
.
.
.
.
.
.
.
24. Excepciones
IV Extendiendo Twig
25. Globales
26. Filtros
26.1. Entorno consciente de filtros .
26.2. Escapando automáticamente .
26.3. Filtros dinámicos .
.
.
.
.
.
.
27. Funciones
27.1. Funciones dinámicas .
.
.
.
.
II
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . .
. . . . .
. . . . .
. . . . .
. . .
. . .
. . .
. . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
33
35
37
39
39
40
40
40
41
41
41
42
43
45
47
51
53
55
55
55
56
59
61
61
62
64
65
67
69
73
75
76
77
77
79
79
28. Etiquetas
28.1. Registrando una nueva etiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28.2. Definiendo un analizador de fragmentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28.3. Definiendo un nodo .
.
.
.
.
.
.
29. Creando una extensión
.
.
.
.
.
.
29.1. Globales
.
.
29.2. Funciones .
.
29.3. Filtros .
.
.
29.4. Etiquetas .
.
29.5. Operadores .
29.6. Pruebas .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
V Twig por dentro
30. ¿Cómo funciona Twig?
31. El analizador léxico
32. El analizador sintáctico
33. El compilador
VI Recetas
34. Haciendo un diseño condicional
35. Haciendo una inclusión dinámica
36. Sustituyendo una plantilla que además se extiende a sí misma
37. Personalizando la sintaxis
38. Usando propiedades dinámicas de objetos
39. Accediendo al contexto del padre en bucles anidados
40. Definiendo al vuelo funciones indefinidas y filtros
41. Validando la sintaxis de la plantilla
42. Actualizando plantillas modificadas cuando APC está habilitado y apc.stat=0
43. Reutilizando el estado de un visitante de nodo
44. Usando el nombre de la plantilla para determinar la estrategia de escape predeterminada
81
81
82
83
85
87
87
88
89
90
90
91
95
97
99
101
103
105
107
109
111
113
115
117
119
121
123
125
127
131
VII Estándares de codificación
VIII Etiquetas
45. for
45.1. La variable loop .
.
.
.
.
.
.
. . . .
. . .
133
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
III
45.2. Añadiendo una condición .
.
.
45.3. La cláusula else .
.
45.4. Iterando en las claves .
.
.
45.5. Iterando en claves y valores
.
.
.
.
.
.
.
.
.
.
46. if
47. macro
48. filter
49. set
50. extends
50.1. Plantilla descendiente
.
.
.
.
.
51. block
52. include
53. import
54. from
55. use
56. spaceless
57. autoescape
58. raw
59. flush
60. do
61. sandbox
62. embed
IX Filtros
63. date
64. format
65. replace
66. number_format
67. url_encode
68. json_encode
69. convert_encoding
70. title
IV
. . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
. . .
137
139
141
143
145
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
149
151
153
155
157
159
161
163
165
167
169
171
175
177
179
181
183
185
187
189
191
71. capitalize
72. nl2br
73. upper
74. lower
75. striptags
76. join
77. reverse
78. length
79. sort
80. default
81. keys
82. escape
83. raw
84. merge
85. slice
86. trim
X Funciones
87. range
88. cycle
89. constant
90. random
91. attribute
92. block
93. parent
94. dump
95. date
XI Probando
96. divisibleby
193
195
197
199
201
203
205
207
209
211
213
215
217
219
221
223
225
227
229
231
233
235
237
239
241
243
245
247
V
249
251
253
255
257
259
261
263
97. null
98. even
99. odd
100.sameas
101.constant
102.defined
103.empty
104.iterable
VI
Parte I
Introducción
1
Twig-es, Release 1.9.0
Esta es la documentación de Twig, el flexible, rápido y seguro motor de plantillas para PHP.
Si has estado expuesto a otros lenguajes de plantilla basados en texto, tal como Smarty, Django o Jinja, debes sentirte
como en casa con Twig. Es a la vez, un amigable ambiente para el diseñador y desarrollador apegado a los principios
de PHP, añadiendo útil funcionalidad a los entornos de plantillas.
Las características clave son...
Rápido: Twig compila las plantillas hasta código PHP regular optimizado. El costo general en comparación con
código PHP regular se ha reducido al mínimo.
Seguro: Twig tiene un modo de recinto de seguridad para evaluar el código de plantilla que no es confiable. Esto
te permite utilizar Twig como un lenguaje de plantillas para aplicaciones donde los usuarios pueden modificar
el diseño de la plantilla.
Flexible: Twig es alimentado por flexibles analizadores léxico y sintáctico. Esto permite al desarrollador definir
sus propias etiquetas y filtros personalizados, y crear su propio DSL.
3
Twig-es, Release 1.9.0
4
CAPÍTULO 1
Requisitos previos
Twig necesita por lo menos PHP 5.2.4 para funcionar.
5
Twig-es, Release 1.9.0
6
Capítulo 1. Requisitos previos
CAPÍTULO 2
Instalando
Tienes varias formas de instalar Twig. Si no estás seguro qué hacer, descarga el archivo comprimido (tarball).
2.1 Instalando la versión comprimida
1. Descarga el archivo comprimido más reciente desde la página de descarga
2. Descomprime el archivo
3. Mueve los archivos a algún lugar en tu proyecto
2.2 Instalando la versión de desarrollo
1. Instala desde Subversión o Git
2. Para Git:
git clone git://github.com/fabpot/Twig.git
3. Para Subversión:
svn co http://svn.twig-project.org/trunk/ twig
2.3 Instalando el paquete PEAR
1. Instala PEAR
2. pear channel-discover pear.twig-project.org
3. pear install twig/Twig (o pear install twig/Twig-beta)
2.4 Instalando vía Composer
1. Instala composer en tu proyecto:
7
Twig-es, Release 1.9.0
curl -s http://getcomposer.org/installer | php
2. Crea un archiv
Comentarios de: Twig-es (0)
No hay comentarios