Nuevo en Symfony 5.1: Deprecado el componente Inflector

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 Symfony 5.1 hemos declarado obsoleto este componente y hemos trasladado su lógica al componente String, que es la mejor forma de trabajar con cadenas de texto en aplicaciones PHP.

El nuevo inflector está disponible via la clase EnglishInflector (cuyo nombre refleja la intención de añadir nuevos idiomas en el futuro). La interfaz es la misma que antes:

namespace Symfony\Component\String\Inflector;
 
interface InflectorInterface
{
    // los métodos devuelven un array porque a veces una misma palabra
    // tiene varias posibles formas singulares/plurales
    public function singularize(string $plural): array;
    public function pluralize(string $singular): array;
}

Así es como puedes utilizarlo en tu aplicación:

use Symfony\Component\String\Inflector\EnglishInflector;
 
$inflector = new EnglishInflector();
 
$result = $inflector->singularize('teeth');   // ['tooth']
$result = $inflector->singularize('radii');   // ['radius']
$result = $inflector->singularize('leaves');  // ['leaf', 'leave', 'leaff']
 
$result = $inflector->pluralize('bacterium'); // ['bacteria']
$result = $inflector->pluralize('news');      // ['news']
$result = $inflector->pluralize('person');    // ['persons', 'people']

Esta funcionalidad fue contribuida por Thomas Calvet en el pull request #35092.


Fuente: New in Symfony 5.1: Deprecated the Inflector component

Comentarios

Publicada el

12 de mayo de 2020

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.