Symfony 1.3, menos es más

Cuando un buen programador desarrolla una nueva versión de su aplicación, suele dedicar tanto tiempo a quitar cosas innecesarias como a introducir nuevas características. Los creadores de Symfony también son conscientes de ello y la prueba es que esta semana han eliminado tres opciones de configuración en Symfony 1.3:

  • check_symfony_version: esta opción se incluyó por primera vez hace muchos años para borrar la caché automáticamente si la versión de Symfony había cambiado desde que se creó la cache. Según los responsables de Symfony, sólo era realmente útil en los servidores compartidos en los que todos los proyectos compartían la misma versión de Symfony. No obstante, desde Symfony 1.1 se recomienda que cada proyecto utilice su propia instalación de Symfony, por lo que esta opción ya no tiene sentido. (ver changeset)
  • max_forwards: esta opción establece el número máximo de redirecciones permitidas en una petición antes de que Symfony lance una excepción. Además de eliminar esta opción, se ha establecido en 5 el máximo número de redirecciones, ya que si este número no es suficiente, tu aplicación está mal diseñada y su rendimiento debe ser lamentable. (ver changeset)
  • strip_comments: esta opción permite deshabilitar el borrado de los comentarios, ya que el tokenizer de las versiones 5.0.X de PHP contenía muchos errores. No obstante, como Symfony 1.3 sólo funcionará con PHP 5.2 o superior y como se han solucionado otros errores asociados al borrado de comentarios, esta opción tampoco tiene sentido. (ver changeset)

Otra de las novedades importantes es que a partir de Symfony 1.3, los directorios llamados vendor/ ya no se incluyen por defecto en la carga automática de clases (ver changeset). Por tanto, si quieres cargar de forma automática los contenidos de algún directorio llamado vendor/, deberás indicarlo en el archivo de configuración autoload.yml. Los principales motivos de este cambio son los siguientes:

  • Si colocas en el directorio lib/vendor/ una librería que ya tiene carga automática de clases, Symfony vuelve a procesar todos los archivos y el resultado es que se añade mucha información redundante en la cache.
  • Si el directorio en el que se encuentra Symfony no se llama exactamente lib/vendor/symfony, el cargador automático de clases del proyecto vuelve a procesar todo el directorio de Symfony y se pueden producir problemas indeseados.

Comentarios

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

16 de marzo de 2009

Etiquetas

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.