Registro de cambios

  • 2012-11-05: Los filtros fueron rebautizados como semiwares de la aplicación en la documentación.

  • 2012-11-05: Las prioridades de escuchas before(), after(), error() y finish() ahora establecen la prioridad del evento Symfony subyacente en vez de un before personalizado.

  • 2012-11-05: Se removió el controlador de la excepción predefinida ahora se debería hacer a través de su método disable():

    Antes:

    unset($app[‘exception_handler’]);

    Después:

    $app[‘exception_handler’]->disable();

  • 2012-07-15: se quitó el servicio monolog.configure. En su lugar usa el método extend:

    Antes:

    $app['monolog.configure'] = $app->protect(function ($monolog) use ($app) {
        // hace algo
    });
    

    Después:

    $app['monolog'] = $app->share($app->extend('monolog', function($monolog, $app) {
        // hace algo
    
        return $monolog;
    }));
    
  • 2012-06-17: ControllerCollection ahora toma como argumento del constructor una instancia de ruta a seguir.

    Antes:

    $controllers = new ControllerCollection();
    

    Después:

    $controllers = new ControllerCollection(new Route());
    
    // o aún mejor
    $controllers = $app['controllers_factory'];
    
  • 2012-06-17: Se añadieron características de aplicación para PHP 5.4

  • 2012-06-16: Se renombró request.default_locale a locale

  • 2012-06-16: Se eliminó el servicio translator.loader. Ve la documentación para cómo utilizar archivos de traducción basados en XLIFF o YAML.

  • 2012-06-15: Se quitó el servicio twig.configure. En su lugar usa el método extend:

    Antes:

    $app['twig.configure'] = $app->protect(function ($twig) use ($app) {
        // hace algo
    });
    

    Después:

    $app['twig'] = $app->share($app->extend('twig', function($twig, $app) {
        // hace algo
    
        return $twig;
    }));
    
  • 2012-06-13: Se añadió una ruta para la lógica intermedia de before

  • 2012-06-13: Se rebautizó la ruta middleware a before

  • 2012-06-13: Se añadió una extensión para el componente de Seguridad de Symfony

  • 2012-05-31: Se hicieron opcionales las dependencias BrowserKit, CssSelector, DomCrawler, Finder y Process. Los proyectos que dependen de ellas (por ejemplo, a través de pruebas funcionales) tendrán que añadir esas dependencias a su composer.json.

  • 2012-05-26: Se agregó el boot() a ServiceProviderInterface.

  • 2012-05-26: Se quitó SymfonyBridgesServiceProvider Ahora, implícitamente comprueba la existencia del puente.

  • 2012-05-26: Se quitó el parámetro translator.messages (en su lugar usa translator.domains).

  • 2012-05-24: Se quitó el servicio autoloader (en su lugar usa composer). Las opciones *.class_path en todos los proveedores integrados también se han quitado en favor de Composer.

  • 2012-05-21: Se cambió error() para permitir la manipulación de excepciones específicas.

  • 2012-05-20: Se añadió una manera para definir la configuración en una colección de controladores.

  • 2012-05-20: La instancia de la petición ya no está disponible en la aplicación después de que se ha manipulado.

  • 2012-04-01: Se agregaron los filtros finish.

  • 2012-03-20: Se añadió el ayudante json:

    $data = array('some' => 'data');
    $response = $app->json($data);
    
  • 2012-03-11: Se añadió la lógica intermedia de ruta

  • 2012-03-02: Ahora se utiliza Composer para gestionar dependencias

  • 2012-02-27: Se actualizó la manipulación de sesión a Symfony 2.1.

  • 2012-01-02: Se introdujo el apoyo para respuestas que transmiten secuencias.

  • 2011-09-22: Se cambió el nombre de ExtensionInterface a ServiceProviderInterface. Todas las extensiones integradas se han renombrado consecuentemente (por ejemplo, Silex\Extension\TwigExtension ha cambiado el nombre a Silex\Provider\TwigServiceProvider)

  • 2011-09-22: La forma de trabajar de las aplicaciones reutilizables ha cambiado. El método mount() ahora toma una instancia de ControllerCollection en lugar de una Application.

    Antes:

    $app = new Application();
    $app->get('/bar', function() { return 'foo'; });
    
    return $app;
    

    Después:

    $app = new ControllerCollection();
    $app->get('/bar', function() { return 'foo'; });
    
    return $app;
    
  • 2011-08-08: La configuración del método controlador ahora se hace en el propio Controlador

    Antes:

    $app->match('/', function () { echo 'foo'; }, 'GET|POST');
    

    Después:

    $app->match('/', function () { echo 'foo'; })->method('GET|POST');
    
Bifúrcame en GitHub