Типизированные свойства в PHP
Новости из мира PHP: Начиная с версии 7.4 в PHP стали доступны так называемые типизированные свойства. Далее я покажу на что они похоже, но для начала небольшая предыстория.
Как раньше определялись и до сих пор определяются типы свойств класса? - просто через документированные комментарии с аннотациями. Пример ниже:
class A
{
/* @var int */
public $prop1;
/* @var string */
public $prop2;
/* @var object */
public $prop3;
}
Многие PHP ORM библиотеки построены на подобном определении. Однако, начина с версии PHP 7.4 можно делать так:
class A
{
public int $prop1;
public string $prop2;
public object $prop3;
}
Как видите теперь тип свойства определяется через синтаксис самого языка, а не через документированные комментарии, для разбора которых требуются отдельные библиотеки. Такой код, как в примере выше повышает читаемость и общее понимание программы.
К типизированным свойствам предъявляются определенные требования. Так они доступным только на уровне класса, и обязательно требуют модификатор доступа (public, protected, private или var). Для типизированных свойства доступны все типы PHP, кроме void и callable, также им должно быть присвоено некоторое значение, до их первого использования.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.