Es viernes, 18:40. Heredaste un sistema PHP que factura miles de euros al día y tienes que añadir "un campo más" al formulario de pedidos. Abres pedido.php: 1.800 líneas. Arriba hay un mysql_connect (sí, todavía), en medio HTML mezclado con if, consultas SQL concatenando $_POST['nombre'] directo a la query, y al final un mail() que manda la confirmación. Cambias una línea, recargas, y la portada deja de cargar. ¿Por qué? Porque ese mismo archivo se incluye en otros doce sitios con require_once, y cada uno asume un orden distinto de variables globales.
No es que el dev anterior fuera malo. Es que PHP, suelto y sin estructura, te deja construir así. Funciona el primer mes. Al sexto, nadie se atreve a tocarlo. Eso es PHP espagueti: todo conectado con todo, sin fronteras, sin nombres claros, imposible de testear.
Symfony existe para que ese viernes a las 18:40 sea aburrido en el buen sentido: abres un archivo de 30 líneas, sabes exactamente qué hace, lo cambias, los tests pasan, y te vas a casa. En esta lección vas a entender exactamente cómo funciona.