En Symfony 5.1, además de introducir los validadores AtLeastOneOf,
ExpressionLanguageSyntax y Hostname, hemos añadido otras mejoras en el validador.
Añadida la opción alpha3 a Country
Si defines como true la nueva opción alpha3 del validador Country, el
valor se valida como un código de país de tres...
seguir leyendo
El componente OptionsResolver te ayuda a configurar objetos mediante
arrays de opciones. En Symfony 5.1 lo hemos mejorado con las siguientes opciones.
Interfaz fluida
Resulta habitual configurar varias características para una misma opción.
Gracias al nuevo método define(), puedes hacerlo con una in...
seguir leyendo
En las aplicaciones Symfony, los security voters centralizan la lógica
relacionada con la autorización para decidir si un usuario puede acceder al
recurso solicitado. Como son servicios de Symfony que utilizan la
etiqueta security.voter, pueden definir su prioridad usando el atributo
priority de la ...
seguir leyendo
Además del validador Hostname y del validador ExpressionLanguage, en
Symfony 5.1 hemos añadido otro validador llamado AtLeastOneOf. Puedes aplicarlo
a propiedades y métodos para comprobar que sus valores cumplen al menos una de
las restricciones indicadas:
namespace App\Entity;
use Symfony\Co...
seguir leyendo
El componente Inflector convierte palabras de su forma singular a plural
(por ahora, solo en inglés). Se utiliza en varias partes de Symfony para
generar nombres de propiedades en singular a partir de nombres de métodos en
plural y viceversa ($foo <-> setFoos(), $foos <-> addFoo()).
En S...
seguir leyendo
Una de las principales razones por las que a los programadores/as les encanta
Symfony es cómo se declaran obsoletas las funcionalidades. Gracias a la
retrocompatibilidad asegurada puedes actualizar tu aplicación entre
versiones menores de Symfony con la garantía de que todo seguirá funcionando.
En S...
seguir leyendo
Las vulnerabilidades de seguridad tipo CSRF ("Cross-site request
forgery") son bastante conocidas en el ámbito del desarrollo web y Symfony
ofrece protección automática frente a ellas desde hace muchos años. Sin embargo,
existe otra vulnerabilidad relacionada pero mucho menos conocida llam...
seguir leyendo
El componente ExpressionLanguage permite compilar y evaluar expresiones.
Muchas empresas lo utilizan para que personas que no son programadoras puedan
crear "reglas de negocio". Por ejemplo, se podría usar la siguiente expresión
para decidir si la tienda ofrece un descuento o no:
'user["is...
seguir leyendo
Generar URL en los comandos de consola y otros lugares fuera del contexto
de la web es complicado porque Symfony no tiene acceso al host de la petición,
a la URL base, etc.
La solución consiste en configurar el contexto de la petición mediante parámetros
como router.request_context.host. En Symfony ...
seguir leyendo
El SDK oficial de AWS para PHP simplifica la integración de los servicios
de Amazon AWS (Amazon S3, Amazon DynamoDB, etc.) en tus aplicaciones PHP. Este
SDK proporciona todas las funcionalidades imaginables, ya que soporta más de 200
servicios AWS (usando más de 8.000 métodos PHP).
El proyecto Async...
seguir leyendo