Nuevo en Symfony 4.3: Mejorado el componente Inflector
Symfony incluye un componente llamado Inflector, que está indicado solo para uso interno y que por eso es tan poco conocido. La única funcionalidad que proporciona el component es convertir palabras en inglés del plural al singular. Lo utilizan los componentes PropertyInfo y PropertyAccess para generar el nombre en singular de una propiedad a partir de su método setter en plural:
use Symfony\Component\Inflector\Inflector; $result = Inflector::singularize('teeth'); // tooth $result = Inflector::singularize('radii'); // radius
En Symfony 4.3 hemos mejorado este componente de varias formas. Primero, hemos
eliminado la etiqueta @internal
de su código, por lo que este componente ya
no es de uso interno y puedes usarlo en tus aplicaciones como cualquier otro
componente.
En segundo lugar, hemos mejorado sus funcionalidades para que también pueda
hacer la conversión inversa: transformar una palabra del singular al plural con
el nuevo método pluralize()
:
use Symfony\Component\Inflector\Inflector; $result = Inflector::pluralize('bacterium'); // bacteria $result = Inflector::pluralize('alumnus'); // alumni $result = Inflector::pluralize('news'); // news $result = Inflector::pluralize('GrandChild'); // GrandChildren
En ocasiones la conversión singular/plural y viceversa no son únicas, así que estos métodos pueden devolver un array con más de una solución para que tu elijas:
use Symfony\Component\Inflector\Inflector; Inflector::singularize('leaves'); // ['leaf', 'leave', 'leaff'] Inflector::pluralize('person'); // ['persons', 'people']
Para más información, puedes leer la documentación del componente Inflector.
Esta funcionalidad fue contribuida por Michael Babker y Nicolas Grekas en los pull requests #26890 y #30810.
Fuente: New in Symfony 4.3: Better inflector
Comentarios
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.