{"id":10938,"date":"2024-11-21T16:42:17","date_gmt":"2024-11-21T15:42:17","guid":{"rendered":"https:\/\/wata.es\/?p=10938"},"modified":"2026-02-03T16:27:19","modified_gmt":"2026-02-03T15:27:19","slug":"introduccion-a-symfony","status":"publish","type":"post","link":"https:\/\/wata.es\/es\/introduccion-a-symfony\/","title":{"rendered":"Introducci\u00f3n a Symfony"},"content":{"rendered":"\n<p>En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas. Con la creciente demanda de soluciones robustas, flexibles y eficientes, la elecci\u00f3n del framework se vuelve cr\u00edtica. Symfony, uno de los principales frameworks de PHP, ha sido consistentemente nuestra herramienta preferida para desarrollar aplicaciones web escalables y mantenibles en una amplia variedad de proyectos.  <\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Tanto si eres un desarrollador experimentado en PHP como si est\u00e1s haciendo la transici\u00f3n desde otro lenguaje de programaci\u00f3n, esta gu\u00eda te ofrece una visi\u00f3n completa de los conceptos fundamentales y las principales ventajas de Symfony. Explica por qu\u00e9 en WATA Factory lo hemos integrado por completo en nuestro flujo de trabajo de desarrollo y c\u00f3mo nos ayuda a cumplir con las crecientes exigencias del desarrollo web moderno de forma fiable y precisa. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u00bfQu\u00e9 es Symfony?<\/strong><\/h2>\n\n\n\n<p>Symfony es un framework PHP de c\u00f3digo abierto dise\u00f1ado para simplificar el desarrollo de aplicaciones web al proporcionar un conjunto de componentes reutilizables y una base s\u00f3lida para construir aplicaciones de alto rendimiento. Creado por SensioLabs y lanzado bajo la licencia MIT, Symfony se adhiere al patr\u00f3n arquitect\u00f3nico Modelo-Vista-Controlador (MVC), fomentando la organizaci\u00f3n y reutilizaci\u00f3n del c\u00f3digo. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Caracter\u00edsticas principales de Symfony<\/strong><\/h2>\n\n\n\n<p>Symfony destaca como uno de los frameworks PHP m\u00e1s potentes y flexibles, conocido por su capacidad para manejar proyectos de diversas escalas y complejidades. A continuaci\u00f3n, te detallo algunas de las caracter\u00edsticas clave que hacen de Symfony una elecci\u00f3n excepcional para el desarrollo web: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Componentes reutilizables:<\/strong> Symfony se construye sobre componentes desacoplados y reutilizables que pueden usarse de forma independiente en cualquier proyecto PHP.<\/li>\n\n\n\n<li><strong>Flexibilidad:<\/strong> Su arquitectura modular permite personalizar y reemplazar partes centrales sin afectar al sistema completo.<\/li>\n\n\n\n<li><strong>Rendimiento:<\/strong> Symfony est\u00e1 optimizado para el rendimiento, permitiendo el desarrollo de aplicaciones r\u00e1pidas y eficientes.<\/li>\n\n\n\n<li><strong>Soporte comunitario:<\/strong> Una comunidad amplia y activa contribuye con mejoras continuas, documentaci\u00f3n extensa y multitud de paquetes de terceros.<\/li>\n\n\n\n<li><strong>Mejores pr\u00e1cticas:<\/strong> Symfony fomenta est\u00e1ndares de codificaci\u00f3n y mejores pr\u00e1cticas, garantizando calidad y mantenibilidad del c\u00f3digo.<\/li>\n<\/ul>\n\n\n\n<p>En WATA Factory, Symfony juega un papel fundamental en nuestro proceso de desarrollo. Su flexibilidad y rendimiento nos permiten entregar aplicaciones web de alta calidad y escalables que cumplen con las crecientes demandas de nuestros clientes. Al adoptar las mejores pr\u00e1cticas que promueve Symfony y aprovechar sus componentes reutilizables, aseguramos que nuestros proyectos no solo sean eficientes, sino tambi\u00e9n mantenibles a largo plazo. Esto convierte a Symfony en una herramienta esencial para ayudarnos a construir soluciones fiables y preparadas para el futuro.   <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Componentes de Symfony<\/strong><\/h2>\n\n\n\n<p>Una de las caracter\u00edsticas m\u00e1s destacadas de Symfony es su colecci\u00f3n de componentes reutilizables. Estas son bibliotecas PHP independientes que resuelven tareas comunes: <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HttpFoundation:<\/strong> Sustituye las variables globales tradicionales de PHP con una capa orientada a objetos.<\/li>\n\n\n\n<li><strong>Routing:<\/strong> Mapea URLs a controladores y acciones espec\u00edficas.<\/li>\n\n\n\n<li><strong>DependencyInjection:<\/strong> Gestiona la creaci\u00f3n de objetos y la gesti\u00f3n de dependencias mediante un contenedor de servicios robusto.<\/li>\n\n\n\n<li><strong>EventDispatcher:<\/strong> Implementa el patr\u00f3n Observador, permitiendo que los componentes se comuniquen de manera eficiente.<\/li>\n\n\n\n<li><strong>Twig:<\/strong> Un motor de plantillas flexible, seguro y r\u00e1pido para PHP.<\/li>\n<\/ul>\n\n\n\n<p>Estos componentes no solo se utilizan dentro del framework Symfony, sino que tambi\u00e9n han sido adoptados por otros proyectos como Laravel y Drupal.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Bundles en Symfony<\/strong><\/h2>\n\n\n\n<p>Los bundles en Symfony son similares a los plugins o m\u00f3dulos en otros frameworks. Son paquetes independientes que a\u00f1aden funcionalidades espec\u00edficas a tu aplicaci\u00f3n. Un bundle puede ser cualquier cosa, desde un sistema de autenticaci\u00f3n de usuarios hasta un panel de administraci\u00f3n. Symfony fomenta la reutilizaci\u00f3n de c\u00f3digo permitiendo que los desarrolladores compartan y distribuyan bundles dentro de la comunidad.   <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>La arquitectura de Symfony<\/strong><\/h2>\n\n\n\n<p>Cuando trabajas con Symfony para el desarrollo de aplicaciones web, uno de los primeros conceptos que descubrir\u00e1s es que Symfony sigue el patr\u00f3n MVC, que divide una aplicaci\u00f3n en tres componentes principales:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modelo:<\/strong> Gestiona los datos y la l\u00f3gica de negocio.<\/li>\n\n\n\n<li><strong>Vista:<\/strong> Maneja la capa de presentaci\u00f3n y la interfaz de usuario.<\/li>\n\n\n\n<li><strong>Controlador: <\/strong>Act\u00faa como intermediario entre el Modelo y la Vista, procesando las entradas del usuario e interactuando con el Modelo.<\/li>\n<\/ul>\n\n\n\n<p>Esta separaci\u00f3n de responsabilidades mejora la organizaci\u00f3n del c\u00f3digo y facilita la gesti\u00f3n y escalabilidad de las aplicaciones.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Ciclo de vida de solicitud-respuesta<\/strong><\/h2>\n\n\n\n<p>Comprender el ciclo de vida de solicitud-respuesta de Symfony es esencial para dominar c\u00f3mo interact\u00faan las aplicaciones web con los clientes. Este ciclo forma la base de c\u00f3mo Symfony procesa las solicitudes HTTP, permitiendo a los desarrolladores construir aplicaciones estructuradas, eficientes y mantenibles.  <\/p>\n\n\n\n<p>A continuaci\u00f3n, te resumo las etapas clave del ciclo de vida de solicitud-respuesta en Symfony:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>Solicitud<\/strong>: El ciclo comienza con el componente HttpFoundation capturando la solicitud HTTP entrante. Este componente recopila toda la informaci\u00f3n necesaria de la solicitud del cliente, como encabezados, par\u00e1metros de consulta y datos.. <\/li>\n\n\n\n<li><strong>Routing<\/strong>: Luego, el componente Routing toma el control, asignando la solicitud a una ruta espec\u00edfica. Bas\u00e1ndose en la URL de la solicitud, determina qu\u00e9 controlador debe gestionar la l\u00f3gica de la misma. <\/li>\n\n\n\n<li><strong>Controlador:<\/strong> El controlador designado recibe la solicitud y la procesa. Esto a menudo implica interactuar con modelos, acceder a bases de datos y utilizar servicios para satisfacer las necesidades del cliente. <\/li>\n\n\n\n<li><strong>Respuesta:<\/strong> Una vez que el controlador ha procesado la solicitud, devuelve un objeto Response. Este objeto contiene los datos o la p\u00e1gina web que se enviar\u00e1n de vuelta al cliente, completando el ciclo. <\/li>\n<\/ol>\n\n\n\n<p>Este flujo estructurado asegura un proceso claro y eficiente para gestionar las interacciones cliente-servidor, reduciendo la complejidad y permitiendo a los desarrolladores centrarse en construir funcionalidades en lugar de gestionar el manejo de solicitudes de bajo nivel.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Empezando con Symfony<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Instalaci\u00f3n<\/strong><\/h3>\n\n\n\n<p>Symfony utiliza <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer nofollow\">Composer <\/a>para la instalaci\u00f3n y la gesti\u00f3n de dependencias. Para crear un nuevo proyecto Symfony, ejecuta: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>composer create-project symfony\/website-skeleton my_project\n\nAlternatively, you can use the Symfony CLI:\n\nsymfony new my_project \u2013full<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Estructura de directorios<br><\/strong><\/h3>\n\n\n\n<p>Un proyecto t\u00edpico de Symfony tiene la siguiente estructura:<br><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>src\/:<\/strong> Contiene tu c\u00f3digo PHP (controladores, entidades, servicios).<br><\/li>\n\n\n\n<li><strong>templates\/<\/strong>: Almacena tus plantillas Twig para la capa de vistas.<br><\/li>\n\n\n\n<li><strong>config\/: <\/strong>Archivos de configuraci\u00f3n para bundles y servicios.<\/li>\n\n\n\n<li><strong>public\/:<\/strong> El directorio ra\u00edz de la web, contiene el front controller (index.php).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Configuraci\u00f3n b\u00e1sica<br><\/strong><\/h3>\n\n\n\n<p>Symfony utiliza YAML, XML o anotaciones PHP para la configuraci\u00f3n. Por ejemplo, las rutas pueden definirse en config\/routes.yaml: <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>home:\n\n&nbsp;&nbsp;&nbsp; path: \/\n\n&nbsp;&nbsp;&nbsp; controller: App\\Controller\\DefaultController::index<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Creando un controlador<br><\/h3>\n\n\n\n<p>Un controlador b\u00e1sico podr\u00eda tener este aspecto:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ src\/Controller\/DefaultController.php\n\nnamespace App\\Controller;\n\nuse Symfony\\Bundle\\FrameworkBundle\\Controller\\AbstractController;\n\nuse Symfony\\Component\\HttpFoundation\\Response;\n\nclass DefaultController extends AbstractController\n\n{\n\n&nbsp;&nbsp;&nbsp; public function index(): Response\n\n&nbsp;&nbsp;&nbsp; {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $this-&gt;render('home.html.twig');\n\n&nbsp;&nbsp;&nbsp; }\n\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Plantillas con Twig<\/h3>\n\n\n\n<p>Las plantillas Twig se almacenan en el directorio <code>templates\/<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{# templates\/home.html.twig #}\n\n&lt;!DOCTYPE html&gt;\n\n&lt;html&gt;\n\n&lt;head&gt;\n\n&nbsp;&nbsp;&nbsp; &lt;title&gt;Welcome to Symfony&lt;\/title&gt;\n\n&lt;\/head&gt;\n\n&lt;body&gt;\n\n&nbsp;&nbsp;&nbsp; &lt;h1&gt;{{ message }}&lt;\/h1&gt;\n\n&lt;\/body&gt;\n\n&lt;\/html&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Ejecutando la aplicaci\u00f3n<br><\/h3>\n\n\n\n<p>Inicia el servidor web integrado:<br><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>symfony server:start<\/code><\/pre>\n\n\n\n<p>Visita http:\/\/localhost:8000 para ver tu aplicaci\u00f3n Symfony en acci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Symfony frente a otros frameworks<br><\/strong><\/h2>\n\n\n\n<p>Aunque Symfony es un framework de PHP, sus principios de dise\u00f1o y arquitectura resuenan con desarrolladores familiarizados con otros lenguajes de programaci\u00f3n y frameworks. Symfony destaca por su robustez, flexibilidad y enfoque en las mejores pr\u00e1cticas, lo que lo hace ideal en entornos que demandan escalabilidad, mantenibilidad y personalizaci\u00f3n.<br>A continuaci\u00f3n, te resumo c\u00f3mo se compara Symfony con algunos de los frameworks m\u00e1s populares, tanto dentro del ecosistema PHP como m\u00e1s all\u00e1:  <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Laravel,<\/strong> considerado un competidor directo de Symfony, tambi\u00e9n integra varios componentes de Symfony como HttpFoundation y Routing. Mientras Symfony ofrece un control m\u00e1s granular y una mayor flexibilidad, Laravel se centra en una sintaxis expresiva y r\u00e1pida, priorizando la experiencia del desarrollador y resultados inmediatos. Laravel es ideal para proyectos peque\u00f1os y medianos debido a su enfoque \u00ablisto para usar\u00bb. Por su parte, Symfony es m\u00e1s adecuado para aplicaciones empresariales complejas gracias a su arquitectura modular y escalable.      <\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CodeIgniter <\/strong>es ligero y sencillo, ideal para proyectos peque\u00f1os o medianos. Ofrece una curva de aprendizaje menor y no requiere configuraciones avanzadas, lo que permite un desarrollo \u00e1gil. Sin embargo, su flexibilidad tambi\u00e9n puede llevar a problemas de inconsistencia en equipos grandes, ya que no es tan estricto en est\u00e1ndares como Symfony. Symfony, en contraste, ofrece mayor control, escalabilidad y mejores pr\u00e1cticas, lo que lo convierte en una opci\u00f3n m\u00e1s s\u00f3lida para proyectos complejos.   <\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Yii2 <\/strong>combina flexibilidad y facilidad de uso, ofreciendo un rendimiento sobresaliente. Incluye un ORM eficiente llamado ActiveRecord y permite utilizar PHP directamente en las vistas. Symfony, al ser m\u00e1s estricto y modular, es mejor para proyectos empresariales donde la arquitectura personalizada y la separaci\u00f3n de responsabilidades son clave.   <\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Ruby on Rails (Rails)<\/strong> comparte similitudes con Symfony, especialmente el uso del patr\u00f3n MVC y la separaci\u00f3n de responsabilidades. Rails se basa en el principio de \u00abConvenci\u00f3n sobre Configuraci\u00f3n\u00bb, minimizando el c\u00f3digo necesario si sigues sus convenciones. Symfony, en cambio, permite mayor personalizaci\u00f3n, siendo ideal para proyectos donde necesitas configuraciones espec\u00edficas o un mayor control sobre la arquitectura.    <\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Django <\/strong>promueve un dise\u00f1o limpio y desarrollo r\u00e1pido gracias a su filosof\u00eda de \u00abbater\u00edas incluidas\u00bb, que proporciona todas las herramientas necesarias de forma predeterminada. Symfony, con su enfoque modular, es m\u00e1s flexible para proyectos grandes que requieren una integraci\u00f3n avanzada o componentes reutilizables.    <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Por qu\u00e9 destaca Symfony<\/strong><\/h2>\n\n\n\n<p>Symfony sobresale por su \u00e9nfasis en los componentes reutilizables. En lugar de ser una soluci\u00f3n \u00fanica, Symfony te permite usar solo las partes del framework que necesitas. Esta arquitectura desacoplada lo convierte en una opci\u00f3n destacada para aplicaciones empresariales donde la modularidad, la personalizaci\u00f3n y la integraci\u00f3n con sistemas existentes son cruciales.   <\/p>\n\n\n\n<p>Adem\u00e1s, su compromiso con las mejores pr\u00e1cticas y el cumplimiento de est\u00e1ndares de la industria (como la compatibilidad con PSR) garantiza proyectos mantenibles a largo plazo. Herramientas integradas como el profiler y la barra de depuraci\u00f3n mejoran la productividad del desarrollador mientras se mantiene la calidad del c\u00f3digo.<br><\/p>\n\n\n\n<p>El ecosistema y la comunidad de Symfony tambi\u00e9n ofrecen una amplia gama de bundles de terceros que extienden su funcionalidad, reduciendo el tiempo de desarrollo y evitando la necesidad de reinventar la rueda. Sus versiones de soporte a largo plazo (LTS) lo convierten en una apuesta s\u00f3lida para proyectos donde la estabilidad y el mantenimiento a largo plazo son esenciales. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusi\u00f3n<\/strong><\/h2>\n\n\n\n<p><a href=\"https:\/\/wata.es\/es\/modernizacion-de-proyectos-legacy-en-php-a-traves-de-symfony\/\">En WATA Factory<\/a> hemos experimentado de primera mano c\u00f3mo Symfony destaca como un framework robusto que fomenta las mejores pr\u00e1cticas y flujos de trabajo eficientes. Su arquitectura basada en componentes no solo beneficia a los desarrolladores PHP, sino que tambi\u00e9n ofrece conceptos y patrones aplicables a otros lenguajes de programaci\u00f3n.  <\/p>\n\n\n\n<p>Al adoptar Symfony en la mayor\u00eda de nuestros proyectos, hemos logrado construir aplicaciones web escalables, mantenibles y de alto rendimiento.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas. Con la creciente demanda de soluciones robustas, flexibles y eficientes, la elecci\u00f3n del framework se vuelve cr\u00edtica. Symfony, uno de los principales frameworks de PHP, ha sido consistentemente [&hellip;]<\/p>\n","protected":false},"author":28,"featured_media":10930,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[89,183],"tags":[],"class_list":["post-10938","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-noticias","category-tecnologia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Introducci\u00f3n a Symfony - WATA Factory<\/title>\n<meta name=\"description\" content=\"En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wata.es\/es\/introduccion-a-symfony\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducci\u00f3n a Symfony - WATA Factory\" \/>\n<meta property=\"og:description\" content=\"En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wata.es\/es\/introduccion-a-symfony\/\" \/>\n<meta property=\"og:site_name\" content=\"WATA Factory\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/watafactory\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-21T15:42:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-03T15:27:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wata.es\/wp-content\/uploads\/2024\/10\/symfony-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Ralf Tenbrink\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@watafactory\" \/>\n<meta name=\"twitter:site\" content=\"@watafactory\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ralf Tenbrink\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/\"},\"author\":{\"name\":\"Ralf Tenbrink\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/6d4a6a92d89cf43409b29b4d4aa2c9ce\"},\"headline\":\"Introducci\u00f3n a Symfony\",\"datePublished\":\"2024-11-21T15:42:17+00:00\",\"dateModified\":\"2026-02-03T15:27:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/\"},\"wordCount\":1805,\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/symfony-scaled.jpg\",\"articleSection\":[\"Noticias\",\"Tecnolog\u00eda\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/\",\"name\":\"Introducci\u00f3n a Symfony - WATA Factory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/symfony-scaled.jpg\",\"datePublished\":\"2024-11-21T15:42:17+00:00\",\"dateModified\":\"2026-02-03T15:27:19+00:00\",\"description\":\"En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#primaryimage\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/symfony-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/symfony-scaled.jpg\",\"width\":2560,\"height\":1440,\"caption\":\"Logo de Symfony con marca WATA Factory en un fondo digital tecnol\u00f3gico\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wata.es\\\/es\\\/introduccion-a-symfony\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/wata.es\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducci\u00f3n a Symfony\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wata.es\\\/#website\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"name\":\"WATA Factory\",\"description\":\"IT Consulting &amp; Outsourcing for your company\",\"publisher\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wata.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/wata.es\\\/#organization\",\"name\":\"WATA Factory\",\"url\":\"https:\\\/\\\/wata.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"contentUrl\":\"https:\\\/\\\/wata.es\\\/wp-content\\\/uploads\\\/2019\\\/12\\\/logowata.png\",\"width\":688,\"height\":176,\"caption\":\"WATA Factory\"},\"image\":{\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/watafactory\\\/\",\"https:\\\/\\\/x.com\\\/watafactory\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/wata\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/wata.es\\\/#\\\/schema\\\/person\\\/6d4a6a92d89cf43409b29b4d4aa2c9ce\",\"name\":\"Ralf Tenbrink\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/949386955220d94278016c59aa30abc16722fe6da07ad5c03ec46ab4d16318b4?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/949386955220d94278016c59aa30abc16722fe6da07ad5c03ec46ab4d16318b4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/949386955220d94278016c59aa30abc16722fe6da07ad5c03ec46ab4d16318b4?s=96&d=mm&r=g\",\"caption\":\"Ralf Tenbrink\"},\"url\":\"https:\\\/\\\/wata.es\\\/es\\\/author\\\/r-tenbrink\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Introducci\u00f3n a Symfony - WATA Factory","description":"En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wata.es\/es\/introduccion-a-symfony\/","og_locale":"es_ES","og_type":"article","og_title":"Introducci\u00f3n a Symfony - WATA Factory","og_description":"En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas.","og_url":"https:\/\/wata.es\/es\/introduccion-a-symfony\/","og_site_name":"WATA Factory","article_publisher":"https:\/\/www.facebook.com\/watafactory\/","article_published_time":"2024-11-21T15:42:17+00:00","article_modified_time":"2026-02-03T15:27:19+00:00","og_image":[{"width":2560,"height":1440,"url":"https:\/\/wata.es\/wp-content\/uploads\/2024\/10\/symfony-scaled.jpg","type":"image\/jpeg"}],"author":"Ralf Tenbrink","twitter_card":"summary_large_image","twitter_creator":"@watafactory","twitter_site":"@watafactory","twitter_misc":{"Escrito por":"Ralf Tenbrink","Tiempo de lectura":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#article","isPartOf":{"@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/"},"author":{"name":"Ralf Tenbrink","@id":"https:\/\/wata.es\/#\/schema\/person\/6d4a6a92d89cf43409b29b4d4aa2c9ce"},"headline":"Introducci\u00f3n a Symfony","datePublished":"2024-11-21T15:42:17+00:00","dateModified":"2026-02-03T15:27:19+00:00","mainEntityOfPage":{"@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/"},"wordCount":1805,"publisher":{"@id":"https:\/\/wata.es\/#organization"},"image":{"@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2024\/10\/symfony-scaled.jpg","articleSection":["Noticias","Tecnolog\u00eda"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/","url":"https:\/\/wata.es\/es\/introduccion-a-symfony\/","name":"Introducci\u00f3n a Symfony - WATA Factory","isPartOf":{"@id":"https:\/\/wata.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#primaryimage"},"image":{"@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#primaryimage"},"thumbnailUrl":"https:\/\/wata.es\/wp-content\/uploads\/2024\/10\/symfony-scaled.jpg","datePublished":"2024-11-21T15:42:17+00:00","dateModified":"2026-02-03T15:27:19+00:00","description":"En WATA Factory llevamos la \u00faltima d\u00e9cada trabajando con Symfony, un framework que ha demostrado ser esencial a medida que las aplicaciones web se vuelven m\u00e1s complejas.","breadcrumb":{"@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wata.es\/es\/introduccion-a-symfony\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#primaryimage","url":"https:\/\/wata.es\/wp-content\/uploads\/2024\/10\/symfony-scaled.jpg","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2024\/10\/symfony-scaled.jpg","width":2560,"height":1440,"caption":"Logo de Symfony con marca WATA Factory en un fondo digital tecnol\u00f3gico"},{"@type":"BreadcrumbList","@id":"https:\/\/wata.es\/es\/introduccion-a-symfony\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/wata.es\/es\/"},{"@type":"ListItem","position":2,"name":"Introducci\u00f3n a Symfony"}]},{"@type":"WebSite","@id":"https:\/\/wata.es\/#website","url":"https:\/\/wata.es\/","name":"WATA Factory","description":"IT Consulting &amp; Outsourcing for your company","publisher":{"@id":"https:\/\/wata.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wata.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/wata.es\/#organization","name":"WATA Factory","url":"https:\/\/wata.es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/","url":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","contentUrl":"https:\/\/wata.es\/wp-content\/uploads\/2019\/12\/logowata.png","width":688,"height":176,"caption":"WATA Factory"},"image":{"@id":"https:\/\/wata.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/watafactory\/","https:\/\/x.com\/watafactory","https:\/\/www.linkedin.com\/company\/wata\/"]},{"@type":"Person","@id":"https:\/\/wata.es\/#\/schema\/person\/6d4a6a92d89cf43409b29b4d4aa2c9ce","name":"Ralf Tenbrink","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/949386955220d94278016c59aa30abc16722fe6da07ad5c03ec46ab4d16318b4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/949386955220d94278016c59aa30abc16722fe6da07ad5c03ec46ab4d16318b4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/949386955220d94278016c59aa30abc16722fe6da07ad5c03ec46ab4d16318b4?s=96&d=mm&r=g","caption":"Ralf Tenbrink"},"url":"https:\/\/wata.es\/es\/author\/r-tenbrink\/"}]}},"_links":{"self":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/10938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/comments?post=10938"}],"version-history":[{"count":5,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/10938\/revisions"}],"predecessor-version":[{"id":15786,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/posts\/10938\/revisions\/15786"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media\/10930"}],"wp:attachment":[{"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/media?parent=10938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/categories?post=10938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wata.es\/es\/wp-json\/wp\/v2\/tags?post=10938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}