En las aplicaciones Symfony modernas ya no se recomienda usar bundles para
organizar la lógica de negocio. No obstante, todavía es posible usar la
"notación bundle" heredada del uso de bundles en partes como la definición de rutas:
bundle_controller:
path: /
defaults:
_cont...
seguir leyendo
En las aplicaciones web es habitual usar el código de estado HTTP 301 para hacer
redirecciones permanentes y el código 302 para las redirecciones temporales.
No obstante, un problema de estas redirecciones es que cuando se hacen sobre una
petición de tipo POST, esta se transforma en GET por razones ...
seguir leyendo
Declarada obsoleta la opción checkDNS del validador de URL
En Symfony 4.1, la opción checkDNS (y su opción relacionada dnsMessage) del
validador Url se ha declarado obsoleta. Esta opción permitía validar si
el host asociado a la URL existía realmente. Internamente utiliza la función
checkdnsrr() de ...
seguir leyendo
Las compilaciones reproducibles ("reproducible builds" en inglés) son una
serie de prácticas de desarrollo de software que permiten "verificar la transformación
del código fuente en el código binario que se ejecuta en los dispositivos". En
otras palabras, si el código fuente no c...
seguir leyendo
La clase DateTimeImmutable se introdujo en PHP 5.5. Dispone de la misma API
que DateTime, pero cuando se ejecuta su método modify() o cualquiera de los
métodos set*(), devuelve un nuevo objeto de tipo DateTimeImmutable y no
modifica el valor original (de ahí su nombre).
En las últimas versiones de S...
seguir leyendo
Las aplicaciones Symfony modernas que utilizan autowiring pueden eliminar
la mayor parte de la configuración de sus servicios. Simplemente con añadir un
type-hint en los argumentos del constructor de un servicio Symfony ya sabe
qué servicios inyectar.
La única excepción son los parámetros de configu...
seguir leyendo
En las aplicaciones que utilizan Symfony 4 es recomendable gestionar los eventos
mediante subscribers en vez de listeners ya que solamente los subscribers
se configuran automáticamente cuando se utiliza la opción de
autoconfiguración de servicios.
No obstante, para las aplicaciones que todavía utili...
seguir leyendo
Cuando se trabaja con objetos que son muy parecidos o comparten muchas
propiedades es común usar interfaces o clases abstractas. El problema de las
clases que heredan de otras clases abstractas es que el
componente Serializer no sabe cómo serializarlas o deserializarlas
correctamente.
En Symfony 4.1...
seguir leyendo
Symfony 4 es el framework PHP más rápido según algunos benchmarks
independientes, pero aún así seguimos trabajando sin descanso para mejorar su
rendimiento. En Symfony 4.1, hemos mejorado el componente Routing para que
procese las URL entrantes mucho más rápido.
En las aplicaciones web, el routing s...
seguir leyendo
En Symfony 3.4 y 4.0 añadimos la posibilidad de prefijar los nombres de las rutas de un controlador
mediante la opción name de la anotación @Route. Por ejemplo, en este controlador
los nombres de las rutas serán blog_index y blog_post:
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
&nbs...
seguir leyendo