Envíanos tu consulta
Términos y condiciones *
logoImagina

Symfony es uno de los frameworks más populares para el desarrollo web con PHP. Es un proyecto de código libre desarrollado por SensioLabs, y que tiene una gran comunidad detrás.

Aprenderás a utilizar uno de los frameworks más populares para poder desarrollar tus aplicaciones web.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient
Aprende Symfony 5: Curso completo
¿A quién va dirigido?
Este curso va dirigido a todos los profesionales que quieran aprender a manejar este framework.
Objetivos
  • Dominar los fundamentos de Symfony 5 para desarrollar aplicaciones web completas
  • Comprender y aplicar conceptos avanzados de Symfony 5
  • Aplicar mejores prácticas de desarrollo con Symfony 5
  • Aprender a mantener, documentar, publicar y probar aplicaciones Symfony 5
¿Qué vas a aprender?

Symfony es uno de los frameworks más populares para el desarrollo web con PHP. Es un proyecto de código libre desarrollado por SensioLabs, y que tiene una gran comunidad detrás. Aprenderás a utilizar uno de los frameworks más populares para poder desarrollar tus aplicaciones web.

Requisitos
  • Tener conocimientos previos y experiencia desarrollando con PHP 7.4 (o superior) y haber trabajado previamente con Docker
  • Tener Git, PHP, MariaDB y Wamp/LAMP,XAMP/MAMP, PHPStorm (CE 2022 o superior) y Visual Studio Code instalados previamente en el equipo
  • Tener un equipo con acceso a un usuario con permisos de instalación y conexión estable a Internet
Temario del curso
tema 1Introducción y primeros pasos con Symfony 5
  • Particularidades de PHP 7.4
  • Environment
  • Website-Skeleton
  • Git & Dockerizing Projects
  • PhpStorm y Visual Studio Code
  • Hola Mundo en Symfony
  • Análisis de la estructura de carpetas
  • Despliegue local
  • Primeros cambios en el proyecto para visualizar cambios
  • Primeros Componentes/Bundles
  • Profiler Toolbar
  • Introducción a Maker-Bundle
tema 2Routing en Symfony
  • Introducción al sistema de enrutado
  • Instalaciones y configuraciones esenciales
  • Estableciendo rutas en Symfony
  • Annotation Routing
  • Yaml Routing
  • Routing for Environment
  • Custom routing
  • Accediendo a parámetros de enrutado
  • Rutas anidadas
  • Paso de información entre rutas de manera programática
tema 3TWIG
  • Introducción
  • Filters
  • Ciclos y Condicionales
  • Output Escaping
  • Debug Variables
  • Otros Formatos de Salida
  • Variables Globales
  • Extensiones
  • Embeber Controlador
  • Embeber Template
  • Templates Sin Controlador
  • Inyectar Servicios en Twig
  • Sobreescribir Bundles
tema 4Controller
  • Errores & Excepciones
  • Páginas de Error
  • Session
  • Mensajes Flash
  • Objeto Request
  • Objeto Response
  • Extender Controlador & CORS
  • Redirecting and Forwarding
  • Debugging Controller
tema 5ORM Doctrine
  • Annotations
  • Yaml Extension
  • Repositories
  • Query Builder
  • DataFiture
  • Múltiples Bases de Datos
tema 6Servicios
  • Introducción
  • Desde Comandos
  • Autorwiring, Autoconfiguring, Tags, Public
  • Commands
  • Envío de Emails
tema 7Eventos
  • Generando Eventos
  • Listener
  • Event Listener y Event Subscriber
  • Cerrar Sesión
  • Jerarquía de Roles
tema 8Forms
  • Introducción a los formularios en Symfony
  • Validaciones
  • ToString
  • Nested Forms
  • Dynamic Forms usando EventListener
  • Dynamic Forms usando Event Subscriber
  • Dynamic Forms Según el Dato
  • Múltiples Submits
  • Usando Data Transformers
  • Custom Fields
tema 9Seguridad
  • Introducción
  • Instalación
  • Autenticación
  • Autenticación de Usuarios
  • Carga de Usuarios
  • Denegar el Acceso
  • Obtener el Objeto User
  • Cerrar Sesión
  • Jerarquía de Roles
  • Protección de rutas a partir de autenticación y autorización
tema 10Internacionalización
  • Introducción
  • Instalación y configuración esencial
  • Traducción Básica
  • Message Placeholder
  • Traducción en Plantillas
  • Obtener Contenido de Traducciones y Actualizar
  • Recursos de Traducción
tema 11Introducción al Tetsing de proyectos Symfony
  • Introducción
  • PHPUnit
  • Test unitarios
  • Test Funcionales
  • Crawler
  • Repository
  • SonarQube
  • Cobertura de código
tema 12Webpack Encore
  • Introducción
  • Configuración
  • Ejemplos de Configuraciones
tema 13Gestión de la Cache
  • MemCache
  • Redis
tema 14Monitorización y Logs
  • Introducción
  • Instalación y Configuración
  • Estableciendo los niveles de logs
  • Redacción de logs
  • Consejos y buenas prácticas para redactar logs
tema 15Serializer
  • Introducción
  • Configuración
  • Circular
  • Profundidad máxima
tema 16Workflow
  • Introducción
  • Configuración
  • Ejemplo
tema 17Messenger Component
  • Instalación
  • Conceptos
  • Bus
  • Handlers
  • Transports
tema 18Bundles
  • Introducción
  • Create bundle
tema 19APIs
  • Conceptos básicos de REST
  • Serialización de datos
  • Autenticación y autorización
  • Pruebas de API
tema 20Herramientas de desarrollo
  • Xdebug para depuración
  • PHPLint para verificación de código
  • PHPCS y PSR-2 para estándares de codificación
  • PHPCPD para detección de duplicados de código
  • PHPUnit para pruebas unitarias
  • Behat para pruebas de comportamiento
  • Selenium WebDriver para pruebas de interfaz de usuario
  • Blackfire para perfiles de rendimiento
  • Herramientas de control de versiones (Git, SVN)
  • Integración continua (CI) con Jenkins o Travis CI
tema 21Autenticación y autorización avanzadas
  • Autenticación con proveedores externos (OAuth, LDAP)
  • Autorización basada en roles y permisos
  • Control de acceso a nivel de objeto
  • Seguridad de la API (OAuth, JWT)
tema 22Optimización de rendimiento
  • Caching de página y fragmento de caché
  • Caching de consultas de base de datos
  • Uso de caché inversa (Varnish)
  • Ajuste de configuraciones de Symfony para mejorar el rendimiento
  • Perfiles de rendimiento con herramientas como Blackfire
tema 23WebSockets y tiempo real
  • Introducción a WebSockets
  • Uso de Ratchet para WebSockets en Symfony
  • Integración con bibliotecas de tiempo real como Socket.io o Pusher
tema 24Integración de servicios de terceros
  • Integración de servicios de almacenamiento en la nube (Amazon S3, Google Cloud Storage)
  • Integración de servicios de correo electrónico (Mailgun, SendGrid)
  • Integración de servicios de pago (Stripe, PayPal)
  • Integración de servicios de análisis (Google Analytics)
  • Integración de servicios de notificación (Firebase Cloud Messaging)
tema 25Despliegue y administración de Symfony
  • Configuración de entornos de producción, desarrollo y pruebas
  • Despliegue en servidores web (Apache, Nginx)
  • Configuración de balanceadores de carga
  • Configuración de escalado horizontal
  • Monitoreo y registro de errores (Sentry, ELK Stack)
  • Gestión de actualizaciones y migraciones de base de datos
tema 26Seguridad avanzada
  • Protección contra ataques CSRF y XSS
  • Configuración de encabezados de seguridad (CSP, HSTS)
  • Auditoría de seguridad y registro de eventos
  • Pruebas de penetración y análisis de vulnerabilidades
tema 27Mejores prácticas de desarrollo
  • Principios SOLID y patrones de diseño
  • Refactorización de código
  • Pruebas de rendimiento y optimización
  • Control de calidad del código
  • Documentación y generación de API
tema 28Proyecto Final
  • Planteando proyecto Final
  • Estableciendo requisitos
  • Implementación
  • Comprobando correcto funcionamiento
  • Build y despliegue
  • Consejos y siguientes pasos

Formación Bonificada para Empresas a través de FUNDAE

Somos entidad organizadora de FUNDAE, todas nuestras formaciones se pueden bonificar hasta el 100%, sujeto a vuestro crédito disponible y a cumplir con todos los requisitos de realización establecidos por la Fundación Estatal para el Empleo.

 

Si desconoces el funcionamiento de las bonificaciones, ofrecemos el servicio de gestión en FUNDAE, consúltanos cualquier duda que te surja.

Descargar Guía FUNDAE
imagenFundae
iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient