Symfony 5.1 будет выпущен в мае 2020 года. Это первая статья серии, в которой показаны наиболее важные новые функции, представленные в этой версии Symfony.
В PHP 7.4, выпущенном 28 ноября 2019 года, добавлена поддержка типизированных свойств, которые позволяют определять тип переменных при их объявлении:
use Symfony\Component\HttpFoundation\Request;
class SomeClass
{
public int $id;
protected string $name;
private ?bool $logResult;
public Request $request;
// ...
}
Компонент PropertyInfo извлекает информацию о свойствах классов PHP, используя несколько источников (метаданные Doctrine, отражение PHP, конфигурацию PHPdoc и т. Д.) В Symfony 5.1 улучшили этот компонент, чтобы также извлекать информацию из типизированных свойств PHP.
Учитывая предыдущий пример, это будет результат при использовании 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
// }
// ]