WEBVTT

00:00:01.146 --> 00:00:06.296 align:middle
Salvo que estés creando una API pura - y
hablaremos de retornar JSON más tarde

00:00:06.296 --> 00:00:08.986 align:middle
en este tutorial - necesitarás
escribir algo de HTML.

00:00:09.806 --> 00:00:14.826 align:middle
Y... poner texto o HTML en un controlador
así es...

00:00:14.826 --> 00:00:17.016 align:middle
horrible. No te preocupes!

00:00:17.246 --> 00:00:22.906 align:middle
Symfony tiene una excelente integración con una
increíble librería de templates llamada Twig.

00:00:23.566 --> 00:00:30.076 align:middle
Hay solo un problema: nuestra app de Symfony es
tan pequeña que Twig ni siquiera está instalado!

00:00:30.746 --> 00:00:33.506 align:middle
Ah, pero eso no es realmente un problema...

00:00:33.746 --> 00:00:35.356 align:middle
gracias al sistema de recetas.

00:00:35.356 --> 00:00:39.506 align:middle
Vuelve a https://flex.symfony.com
y haz una búsqueda por "template".

00:00:40.246 --> 00:00:40.856 align:middle
Ahí está!

00:00:41.376 --> 00:00:46.806 align:middle
Aparentemente la librería de templates
recomendada por Symfony es also llamado twig-pack.

00:00:47.946 --> 00:00:48.796 align:middle
Instalémosla!

00:00:49.536 --> 00:00:55.926 align:middle
composer require template Esto
instala algunos paquetes...

00:00:56.906 --> 00:00:59.596 align:middle
Y sí! 2 recetas!

00:01:00.676 --> 00:01:04.646 align:middle
Veamos lo que hicieron:
git status Wow, impresionante.

00:01:05.116 --> 00:01:11.126 align:middle
Muy bien: los cambios en composer.json composer.lock
y symfony.lock eran de esperarse.

00:01:11.666 --> 00:01:14.616 align:middle
Todo lo demás fue hecho por estas recetas.

00:01:15.366 --> 00:01:17.246 align:middle
Veamos bundles.php primero:

00:01:17.856 --> 00:01:24.936 align:middle
git diff config/bundles.php
Interesante: agregó dos lineas.

00:01:25.566 --> 00:01:30.516 align:middle
Abre ese archivo: config/bundles.php.

00:01:30.516 --> 00:01:33.256 align:middle
Un "bundle" es un plugin de Symfony.

00:01:34.066 --> 00:01:39.446 align:middle
Comúnmente, cuando quieres agregar una funcionalidad
a tu app, instalas un bundle.

00:01:39.996 --> 00:01:45.276 align:middle
Y cuando instalas un bundle, necesitas
habilitarlo en tu aplicación.

00:01:45.426 --> 00:01:48.506 align:middle
Hace mucho tiempo atrás, lo hacíamos manualmente.

00:01:48.926 --> 00:01:52.656 align:middle
Pero gracias a Symfony Flex, siempre que
instalas un bundle de Symfony,

00:01:52.896 --> 00:01:56.396 align:middle
automáticamente actualiza este archivo para
habilitarla por tí.

00:01:57.086 --> 00:01:59.976 align:middle
Así que... ahora que hemos hablado de este archivo,

00:02:00.376 --> 00:02:03.356 align:middle
probablemente jamás necesitarás
pensar en esto de nuevo.

00:02:04.036 --> 00:02:06.886 align:middle
La receta también agregó un directorio templates/.

00:02:07.456 --> 00:02:11.826 align:middle
Así que si te preguntabas donde se supone que viven
tus templates...

00:02:12.046 --> 00:02:14.306 align:middle
la receta contestó esa pregunta!

00:02:15.246 --> 00:02:19.786 align:middle
También agregó un archivo de layout base.html.twig
del cual hablaremos pronto.

00:02:20.666 --> 00:02:24.676 align:middle
Entones... aparentemente nuestros templates se
supone que viven en templates/.

00:02:25.056 --> 00:02:31.856 align:middle
Pero por qué? Quiero decir, esa ruta está
fijada en algún archivo interno de la librería de Twig?

00:02:32.516 --> 00:02:40.026 align:middle
No! Vive justo en nuestro código, gracias al archivo
twig.yaml que fue creado por la receta.

00:02:40.616 --> 00:02:43.396 align:middle
Revisémoslo: config/packages/twig.yaml.

00:02:44.266 --> 00:02:47.846 align:middle
Hablaremos más sobre estos archivos
YAML en otro tutorial.

00:02:48.436 --> 00:02:51.266 align:middle
Pero sin comprender demasiado
sobre este archivo, él mismo...

00:02:51.446 --> 00:02:53.026 align:middle
ya tiene sentido!

00:02:53.876 --> 00:02:57.746 align:middle
Esta configuración default_path apunta
al directorio templates/.

00:02:58.276 --> 00:03:00.216 align:middle
¿Quieres que tus templates vivan en algún otro lugar?

00:03:00.666 --> 00:03:01.896 align:middle
Solo cambia esto y...

00:03:02.076 --> 00:03:04.246 align:middle
listo! Tú tienes el control.

00:03:05.406 --> 00:03:10.836 align:middle
Por cierto, no te preocupes por esta
rara sintaxis %kernel.project_dir%.

00:03:11.256 --> 00:03:12.546 align:middle
Aprenderemos sobre esto más adelante.

00:03:13.056 --> 00:03:16.996 align:middle
Pero básicamente, es una forma sofisticada de
apuntar al directorio raíz de nuestro proyecto.

00:03:18.176 --> 00:03:21.396 align:middle
La receta también creó otro archivo twig.yaml

00:03:21.436 --> 00:03:25.916 align:middle
el cual es menos importante:
config/packages/test/twig.yaml.

00:03:26.516 --> 00:03:31.256 align:middle
El mismo hace un pequeño cambio a Twig
para tus tests automatizados.

00:03:31.976 --> 00:03:33.566 align:middle
Los detalles no importan realmente.

00:03:33.876 --> 00:03:39.216 align:middle
El punto es: Hemos instalado Twig y
su receta se encargó de todo lo demás.

00:03:39.826 --> 00:03:43.216 align:middle
Estamos 100% listos para usarlo en nuestra app.

00:03:43.586 --> 00:03:44.666 align:middle
¡Hagamos esto a continuación!
