Desarrollo rápido de aplicaciones con Symfony2
Symfony2 es un framework que ya incluye varias técnicas para acelerar el desarrollo de tus aplicaciones: existen multitud de comandos de consola para generar clases y código PHP, toda la configuración de la aplicación se puede realizar con archivos YAML en vez de XML, soporta anotaciones para definir toda la configuración de la aplicación en las propias clases PHP en vez de en archivos de configuración externos, etc.
Como todo es mejorable, los programadores de la empresa Knp Labs han pensado que Symfony2 podría ser todavía más orientado a RAD (rapid application development). Para ello han creado el bundle KnpRadBundle.
Entre otras características, KnpRadBundle añade un kernel propio a tu proyecto Symfony2 que se carga automáticamente. Así que por ejemplo, el AppKernel.php
original de Symfony2 se sustituye por un sencillo archivo de configuración YAML:
# config/kernel.yml project: KnpRad all: bundles: - Symfony\Bundle\FrameworkBundle\FrameworkBundle - Symfony\Bundle\SecurityBundle\SecurityBundle - Symfony\Bundle\TwigBundle\TwigBundle - Symfony\Bundle\MonologBundle\MonologBundle - Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle - Symfony\Bundle\AsseticBundle\AsseticBundle - Symfony\Bundle\DoctrineBundle\DoctrineBundle - Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle parameters: locale: en secret: ThisTokenIsNotSoSecretChangeIt ... dev: bundles: - Symfony\Bundle\WebProfilerBundle\WebProfilerBundle test: bundles: - Symfony\Bundle\WebProfilerBundle\WebProfilerBundle
El otro cambio más significativo es una estructura de archivos y directorios muy simplificada respecto a la de Symfony2 (desaparece por ejemplo la carpeta Resources/
):
Además, cada bundle dispone de su propio archivo de configuración YAML y el controlador base ha sido ampliado para que contenga muchos más atajos y métodos útiles.
En el sitio web rad.knplabs.com tienes toda la información detallada sobre los cambios/mejoras que propone el bundle.
Comentarios
-
#1
Es interesante, aunque ha habido bastante controversia con respecto a este bundle. El punto más discutido es el hecho que algunos bundles esperan las carpetas app, y Resources. El otro punto importante es que la estructura y el flujo de trabajo es distinto al recomendado por Symfony, por lo que puede crear confusión a aquellos usuarios que recién empiezan con el framework.
-
#2
La verdad es que pensé lo mismo "el flujo de trabajo es distinto al recomendado por Symfony", mi opinión personal es que la documentación de Symfony2 en si es algo confusa, sin embargo ya con el pasar del tiempo diferentes foros, blogs y páginas webs han alimentado esta documentación haciéndola más digerible... tratar de cambiar algo como la estructura de organización recomendada podría complicar más la vida de aquellos que están comenzando y que buscan diferentes fuentes para entender mejor las cosas.
Desde mi punto de vista la estructura actual de Symfony2 me parece ideal, un poco difícil al principio, pero luego que la agarras todo tiene sentido, no veo gran razón para el cambio, sin embargo es una alternativa para quienes así lo deseen, así que BIENVENIDA la idea :D.
-
#3
Una de las últimas alegrías que me ha dado la carpeta Resources es que no sólo está para los archivos js, css e imágenes, sino para cualquier cosa. Y otra alegría es que una vez te acostumbras a Symfony2 los proyectos vuelan (el otro día hice la estructura básica de un webservice json en unas tres horas). A este cambio que proponen no le veo muchas ventajas.
-
#4
Hola chicos, pues recien estoy empezando a querer desarrollar mis aplicaciones web con este framework pero se me hace cuesta arriba por cuestiones de entendimiento a priori de las explicaciones de los desarrolladores. Es un poco lioso verdad?? Si alguien puede pasarme link de sitios donde haya explicacion para comenzar desde cero, os lo agradeceria eternamente. Saludos!!
Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente
unos meses después de su publicación para asegurar que estos sigan
siendo relevantes.
Proyectos Symfony destacados
La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más
Síguenos en @symfony_es para acceder a las últimas noticias.