Nuevo en Symfony 5.1: Soporte de propiedades PHP con tipos en PropertyInfo

Symfony 5.1 se publicará a finales de mayo de 2020. Este es el primer artículo de una serie de artículos que explica las principales funcionalidades añadidas en esta nueva versión de Symfony.


PHP 7.4, que se publicó el 28 de noviembre de 2019, añadió soporte para propiedades PHP con tipos o tipadas, que permiten definir el tipo de la variable a la vez que se declara:

use Symfony\Component\HttpFoundation\Request;
 
class SomeClass
{
    public int $id;
    protected string $name;
    private ?bool $logResult;
    public Request $request;
 
    // ...
}

El componente PropertyInfo extrae información de las propiedades PHP utilizando diferentes medios (los metadatos de Doctrine, la configuración PHPdoc, la clase Reflection de PHP, etc.) En Symfony 5.1, hemos mejorado el componente para que también extraiga información de las propiedades PHP con tipo.

Utilizando el ejemplo anterior, este sería el resultado en Symfony 5.1:

$info = $propertyInfo->getTypes(SomeClass::class, 'logResult');
 
// $info = [
//     class Symfony\Component\PropertyInfo\Type (6) {
//         private $builtinType          => string(4) "bool"
//         private $nullable             => bool(true)
//         private $class                => NULL
//         private $collection           => bool(false)
//         private $collectionKeyType    => NULL
//         private $collectionValueType  => NULL
//     }
// ]

Esta funcionalidad fue contribuida por Kévin Dunglas en el pull request #34557.


Fuente: New in Symfony 5.1: Added support for typed properties in PropertyInfo

Comentarios

Publicada el

9 de marzo de 2020

Etiquetas

Proyectos Symfony destacados

La forma más sencilla de generar el backend de tus aplicaciones Symfony. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.