Curso Symfony 5 avanzado

Conviértete en un auténtico experto en Symfony y haz aplicaciones completas y complejas, aprovechando toda la potencia y rendimiento posibles

Tiempo de estudio: 60 horas

Duración 8 semanas

Tutelados: Seguimiento continuo

Ejercicios Prácticos

100% Bonificable Fundae

Plazas Limitadas

Próxima convocatoria:

14 de febrero

450,00

IVA no incluido

resumen curso

Resumen del curso

profesor del curso

El profesor

temario y objetivos del curso

Temario y objetivos

opiniones de alumnos

Opiniones

Preguntas frecuentes

FAQ

resumen

En este curso aprenderás los muchos cambios introducidos en Symfony 5 respecto a la versión anterior (qué hay nuevo, y qué está deprecado, la nueva estructura de directorios, Flex, etc.).

También profundizaremos en aquellos aspectos de Symfony que no son tan habituales, con los que conseguir explotar al máximo toda la potencia del mejor framework para PHP. Además de ver lo habitual (Twig, rutas y controladores, Doctrine y formularios…), veremos en profundidad temas relativos al Kernel, Event Dispatcher, seguridad, profiler y depuración, reverse Proxy, etc.). 

Todo ello se verá en sesiones de varios vídeos cortos, acompañados de ejercicios y tests supervisados y corregidos por el profesor, para que no te quedes en la superficie y lo pongas en prática.

La meta es que te conviertas en un auténtico experto en Symfony y puedas hacer aplicaciones completas y complejas, aprovechando toda la potencia y rendimiento posibles. Esto te ayudará a consolidar y mejorar tu carrera profesional y te abrirá nuevas oportunidades de empleo.

profesor

Carlos Herrera

Programador web en PHP con más de 10 años de experiencia. Experto en Symfony y Angular. Más de 7 años como profesor.

También imparto formación a empresas o a particulares (HTML, CSS, Javascript, JQuery, PHP, Symfony, MySQL, GIT, Subversion, Angular, Ionic, PHPUnit…)

    temario

    1. Empezando con Symfony

    1.1 Instalación de Symfony 

    1.2 La nueva estructura de directorios de Symfony 4/5

    2. Variables de entorno y configuración de Symfony

    2.1 Los archivos de configuración 

    2.2 Los entornos y las variables de entorno 

    2.3 Creación de un entorno personalizado 

    3. Symfony Flex

    3.1 Cómo funciona Flex

    3.2 Las Recipes

    3.3 Actualizar aplicaciones existentes para que utilicen Flex

    3. Bloques horizontales
    • Seguridad
    • Almacenamiento
    • Modelo de datos
    • Inteligencia artificial
    • Escalabilidad y rendimiento
    4. Enlazando rutas con controladores

    4.1 Restricción de los valores de los parámetros

    4.2 Parámetros especiales

    4.3 Redirecciones

    4.4 Depuración de rutas

    4.5 Restricción de rutas por Host

    4.6 Restricción de rutas por método

    4.7 Restricción de rutas por protocolo

    4.8 Generación de URLs

    5. El sistema de plantillas Twig

    5.0 Introducción

    5.1 Output escaping

    5.2 Cómo depurar variables en las plantillas

    5.3 Cómo generar otros formatos de salida (css, javascript, xml…)

    5.4 Cómo inyectar variables globales

    5.5 Sobrescribir plantillas de bundles de terceros

    5.6 Crear plantillas sin controladores

    5.7 Cómo crear una extensión de Twig

    6. Los controladores

    6.0 Introducción

    6.1 Manejar páginas de error y páginas 404

    6.2 La sesión

    6.3 Los mensajes Flash

    6.4 El objeto Request

    6.5 El objeto Response. Cómo crear diferentes tipos de respuestas (html, json, file…)

    6.6 Depuración en los controladores

    7. Doctrine

    7.0 Introducción

    7.1 Mapeo de relaciones

    7.2 Transacciones

    7.3 El lenguaje de consultas DQL

    7.4 El Objeto Doctrine Query Builder

    7.5 Los repositorios

    7.6 Ejecutar consultas con SQL Nativo

    7.7 Ingeniería inversa con Doctrine

    8. Servicios

    8.1 El patrón de inyección de dependencias

    8.2 El service container

    8.3 Creación y configuración de servicios

    9. Eventos

    9.1 El Event Dispatcher 

    9.2 Ejemplo de disparo de un evento

    9.3 Creación de event listeners 

    9.4 Creación de event subscribers 

    9.5 Ejemplo de suscripción a un evento

    9.6 Eventos del Kernel de Symfony 

    9.7 Consideraciones finales 

    10. Formularios

    10.0 Introducción

    10.1 Formularios anidados

    10.2 Eventos de formulario

    10.3 Formulario dinámico basado en los propios datos del formulario

    10.4 Formulario dinámico basado en el usuario

    10.5 Temas personalizados

    10.6 Validaciones personalizadas

    11. La consola de comandos

    11.0 Introducción

    11.1 Cómo crear comandos personalizados

    11.2 Los console Helpers

    12. Seguridad

    12.0 Introducción

    12.1 Autenticación

    12.2 Roles

    12.3 Autorización

    12.4 Acceso al objeto User

    12.5 Las anotaciones @IsGranted y @Security

    12.6 Los Voters

    12.7 Cómo hacer logout

    12.8 El comando make:auth

    13. Depuración en Symfony. El profiler

    13.0 Introducción

    13.1 Las secciones del Profiler

    13.2 Cómo crear un Data Collector personalizado

    13.3 Cómo acceder a los datos del profiler programáticamente

    13.4 Cómo deshabilitar el profiler en una acción concreta

    13.5 Cómo cambiar la ubicación del Profiler Storage

    14. Traducciones

    14.0 Instalación y configuración

    14.1 El proceso de traducción

    14.2 Message Placeholders

    14.3 Manejo de plurales

    14.4 Los ficheros de traducciones

    14.5 Manejo de la localización del usuario

    14.6 Traducción del contenido de la base de datos

    14.7 Traducción de mensajes de validación

    14.8 Depuración de traducciones

    15. Testeo de aplicaciones Symfony

    15.0 Introducción

    15.1 Tests Unitarios

    15.2 Tests funcionales

    15.3 El objeto Test Client

    15.4 El objeto Crawler

    15.5 Creación de Fixtures

    15.6 Testeo de comandos de consola

    15.7 Testeo de repositorios de Doctrine

    16. Envío de emails

    16.0 Introducción 

    16.1 Configuración 

    16.2 Envío de emails 

    16.3 Cómo trabajar con emails durante el desarrollo 

    16.4 Cómo testear si un email ha sido enviado 

    16.5 Cómo configurar varios mailers 

    16.6 Envío asíncrono de emails 

    17. Gestión avanzada de recursos CSS y JavaScript

    17.0 Introducción

    17.1 Instalación de WebPack Encore

    17.2 Configuración

    17.3 Manejo de archivos Sass y Less

    17.4 Source Maps

    17.5 Manejo de archivos TypeScript

    17.6 Versionado de assets

    17.7 CDNs

    17.8 Cómo pasar información de Twig a JavaScript

    18. El sistema de Caché

    18.0 Introducción 

    18.1 El comando cache:clear 

    18.2 Cache Programada

    18.3 “More Advanced Caching” (PSR-6) 

    18.5 Cache Contracts

    19. El sistema de Logs

    19.0 Introducción 

    19.1 Cómo escribir mensajes de log con Logger

    19.2 Configuración 

    19.3 El manejador especial fingers_crossed 

    19.4 Configuración de log con ficheros rotativos 

    19.5 Cómo configurar Monolog para enviar correos 

    19.6 El manejador especial group 

    19.7 Configuración de canales 

    19.8 Cómo deshabilitar la precisión de microsegundos para ganar rapidez 

    20. El serializer de Symfony

    20.0 Introducción

    20.1 Uso del Serializer

    20.2 Cómo manejar referencias circulares

    20.3 Cómo manejar la profundidad de la serialización

    20.4 Normalizers

    20.5 Encoders

    20.6 Cómo configurar qué atributos se serializan

    20.7 Cómo convertir nombres de propiedades al serializar y des-serializar

    21. El serializer de Symfony

    21.0 Introducción

    21.1 Creación de un Workflow

    21.2 Cómo trabajar con Workflows

    21.3 Funciones de Twig y ejemplo práctico

    21.4 Eventos

    21.5 Cómo depurar un Workflow

    22. Creación de bundles

    22.0 Estructura de directorios de un bundle

    22.1 Cómo sobrescribir parte de un bundle

    22.2 Creación de recipes

    23. Deployment

    23.0 Deployment básico

    23.1 Tareas post-deployment

    23.2 Cómo configurar Symfony para trabajar detrás de un balanceado de carga o de un    reverse proxy

    24. Cómo mejorar el rendimiento

    24.0 Introducción

    24.1 Instalar APCu Polyfill 

    24.2 Configurar el Service Container en un único fichero

    24.3 OPCache 

    24.4 Configurar OPCache con Preloading

    24.5 Configurar el PHP realpath Cache 

    24.6 Optimizar Composer Autoloader 

    25. Actualización de un proyecto Symfony

    25.1 Actualización de un proyecto Symfony 3 a Symfony 4

    25.2 Actualización de un proyecto Symfony 4 a Symfony 5

    objetivos

    Profundizaremos en aquellos aspectos de Symfony que no son tan habituales, con los que conseguir explotar al máximo toda la potencia del mejor framework para PHP. Además de ver lo habitual (Twig, rutas y controladores, Doctrine y formularios…), veremos en profundidad temas relativos al Kernel, Event Dispatcher, seguridad, profiler y depuración, reverse Proxy, etc.).

    requisitos

    • Conocimientos básicos de Symfony 2.x, 3.x ó 4.x
    • Ordenador preferiblemente con dos monitores
    • Editor de código recomendado PHPStorm

    opiniones

    faq

    Quiero bonificar el curso pero en mi empresa NO sabe cómo hacerlo

    Podemos encargarnos, no te preocupes. Tiene un coste de un 10% sobre el importe del curso. Y este importe también es bonificable.

    Quiero bonificar el curso y mi empresa se encargará de los trámites.

    En este caso ponte en contacto con nosotros y te haremos llegar toda la documentación del curso para que podáis dar de alta la acción y grupo formativo.

    ¿Obtengo diploma de certificación?

    Ofrecemos dos certificados:

    • Alumnos que bonifican el curso:
      • Certificado de asistencia al curso: para obtener este certificado debes haber completado el 75% del curso.
      • Certificado de aprovechamiento: Si has completado el curso y has realizado todas las pruebas prácticas del curso, y la media de tu calificación es igual o superior a 6.
    • Todos los alumnos:
      • Insignia de participación: si realizas el curso completo pero tu nota en los ejercicios del curso es inferior a un 6.
      • Insignia de aprovechamiento: si realizas el curso completo y tu nota en los ejercicios del curso es igual o superior a 6.
    ¿Cómo de estrictos son los plazos?

    Los cursos están pensados entre dos fechas, para tener disponible al profesor y resto de alumnos para resolver dudas. Si no lo terminas a tiempo, seguirás teniendo acceso a la plataforma con todo el material disponible. Sin embargo, no tendrás a los profesores a tu disposición, aunque sí a otros alumnos que puedan estar en tu misma situación.Los alumnos que bonifiquen el curso tendrán que completarlo en los plazos especificados, al menos con un 75% de las actividades del curso completadas, y unos tiempos de conexión a la plataforma acordes a los tiempos de dedicación del curso. De no ser así no se podrá aplicar bonificación sobre el curso.

    Soy autónomo, ¿puedo bonificar el curso?

    Lamentablemente no. Sólo pueden bonificar los cursos tus empleados si los tienes. Ponte en contacto con nsotros y te ofreceremos un descuento.

    No encuentro la forma de realizar el pago en la web

    No puedes pagar el curso a través de la web. Rellena el formulario del curso que te interese y un miembro del equipo de trainingIT se pondrá en contacto contigo.

    Cuando finalice el curso ¿seguiré teniendo acceso al curso?

    Si, una vez finalice el curso podrás seguir accediendo a os materiales del mismo. Pero los profesores ya no atenderán el curso.

    ¿Y si no resido en España?

    No supone ningún problema. Si estás contratado por una empresa española, y tienes contrato en España podrás bonificar el curso igualmente. Si no es tu caso podrás realizar el curso por tu cuenta.