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.

    pablo el 23 de febrero de 2012, 19:45:14

  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.

    Richard el 23 de febrero de 2012, 22:33:27

  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.

    Cristian el 24 de febrero de 2012, 17:34:21

  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!!

    Diego el 9 de agosto de 2012, 16:09:33

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.

Publicada el

23 de febrero de 2012

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.