Symfony2, cada día mejor y más sencillo

Hace unos días comentaba en un artículo que una de las cosas que menos me gustaban de Symfony2 es que actualmente no es un framework pulido. Algunas configuraciones son innecesariamente largas, el comportamiento por defecto de algunos métodos no parece coincidir con el caso más común,  en ocasiones hay que indicar información que la aplicación podría obtener fácilmente ella misma, etc.

Como era de esperar, todo esto está cambiando rápidamente. Symfony2 ya está terminado en cuanto a arquitectura interna y componentes que lo forman, por lo que ya ha empezado la fase de corrección de errores, retoques y aplicación de "usabilidad para programadores".

El blog oficial de Symfony acaba de publicar un artículo explicando alguno de los cambios y simplificaciones que se han incluido últimamente. Por ejemplo antes se configuraba de esta forma los datos de conexión con tu base de datos:

doctrine:
    dbal:
        connections:
            default:
                dbname:   nombre-base-de-datos
                user:     root
                password: ~

Ahora se ha simplificado para el caso común, que es tener una única conexión con base de datos, por lo que puedes escribir:

doctrine:
    dbal:
        dbname:   nombre-base-de-datos
        user:     root
        password: ~

Otro ejemplo muy claro de la nueva dirección que está tomando Symfony2 son los mapeos de Doctrine, que antes había que indicarlos explícitamente para cada bundle que tuvieras:

doctrine:
    orm:
        auto_generate_proxy_classes: %kernel.debug%
        mappings:
            PrimerBundle:  ~
            SegundoBundle: ~
            TercerBundle:  ~
            CuartoBundle:  ~

Ahora será Doctrine el que tenga que hacer ese trabajo, por lo que la configuración se reduce a:

doctrine:
    orm:
        auto_generate_proxy_classes: %kernel.debug%
        auto_mapping: true

Los formularios también se está simplificando mucho. Antes por ejemplo tenías que indicar explícitamente el tipo de clase asociada al formulario:

class EjemploForm extends Form
{
    protected function configure()
    {
        $this->setDataClass('MiNamespace\MiBundle\Entity\Ejemplo');
        ...

A partir de ahora podrás olvidarte del método ->setDataClass() a menos que hagas cosas muy raras con los formularios.

Además de simplificar el código, la otra línea de trabajo actual es la mejora de los mensajes de error. Antes era realmente complicado depurar algunos errores porque Symfony2 no informaba de la línea o al menos el archivo concreto donde se producía el error. Ahora siempre sabrás la línea y archivo exacto en el que está el problema.

Fuente: Symfony2: Getting easier

Comentarios

  1. excelente por favor continúa con estos posts y más para ayudar a los principiantes, especialmente en la forma como se programa una aplicación en sf2

    cordovaln el 5 de mayo de 2011, 10:25:35

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

28 de abril de 2011

Etiquetas

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.