
Workflow Component
State machines, workflows, places, transitions, guards, event listeners, marking store
1¿Qué es un Workflow en Symfony?
¿Qué es un Workflow en Symfony?
Respuesta
Un Workflow en Symfony es un modelo de proceso que define los pasos (places) y las acciones (transitions) que un objeto puede seguir. Gestiona flujos complejos donde un objeto puede estar potencialmente en varios estados de forma simultánea, a diferencia de una state machine. El Workflow se basa en los conceptos de redes de Petri y es adecuado para procesos de negocio con caminos paralelos.
2¿Cuál es la diferencia principal entre un Workflow y una State Machine en Symfony?
¿Cuál es la diferencia principal entre un Workflow y una State Machine en Symfony?
Respuesta
La diferencia fundamental radica en la cantidad de estados simultáneos posibles. Una State Machine solo permite un estado activo a la vez (single_state), ideal para flujos lineales como el ciclo de vida de un pedido. Un Workflow permite varios estados simultáneos (multiple_state), adecuado para procesos paralelos como la validación de un documento por varios departamentos.
3¿Cómo definir el tipo de Workflow en la configuración YAML de Symfony?
¿Cómo definir el tipo de Workflow en la configuración YAML de Symfony?
Respuesta
El tipo de workflow se define mediante la opción type en la configuración YAML bajo framework.workflows.[name]. Los dos valores posibles son workflow para permitir varios estados simultáneos, o state_machine para permitir solo un estado activo. Esta elección impacta automáticamente en el tipo de marking store utilizado.
¿Qué es una place en el contexto del componente Workflow de Symfony?
¿Cómo definir una transition en la configuración del Workflow de Symfony?
+15 preguntas de entrevista
Otros temas de entrevista Symfony
PHP Moderno (8.1+)
Fundamentos de Symfony
Routing & Controllers
Twig & Templates
Fundamentos de Doctrine ORM
Formularios Symfony
Validación de datos
Dependency Injection & Services
Security & Authentication
Doctrine avanzado
API Platform
Serializer Component
Events & Event Subscribers
Console & Commands
Messenger Component
HTTP Client
Cache y Rendimiento
Testing Symfony
Mailer Component
Traducciones e i18n
EasyAdmin Bundle
Arquitectura Symfony
Rendimiento y optimización
Seguridad avanzada
Bundles Personalizados
Microservices con Symfony
Real-time & WebSockets
Deployment & DevOps
Domina Symfony para tu próxima entrevista
Accede a todas las preguntas, flashcards, tests técnicos, ejercicios de code review y simuladores de entrevista.
Empieza gratis