Объявления типов можно добавлять к аргументам функций, возвращаемым значениям и, начиная с PHP 7.4.0, к свойствам класса. Они гарантируют, что значение имеет указанный тип во время вызова, в противном случае генерируется TypeError .

Примечание :

При переопределении родительского метода дочерний метод должен соответствовать любому объявлению типа возвращаемого значения родительского. Если родитель не определяет возвращаемый тип, это может сделать дочерний метод.

Отдельные типы

ТипОписаниеВерсия
Class/interface nameЗначение должно быть instanceofзаданным классом или интерфейсом. 
selfЗначение должно быть instanceofтем же классом, что и тот, в котором используется объявление типа. Можно использовать только на уроках. 
parentЗначение должно быть instanceofродителем класса, в котором используется объявление типа. Можно использовать только на уроках. 
arrayЗначение должно быть массивом . 
callableЗначение должно быть допустимым callable . Не может использоваться в качестве объявления типа свойства класса. 
boolЗначение должно быть логическим значением. 
floatЗначение должно быть числом с плавающей запятой. 
intЗначение должно быть целым числом. 
stringЗначение должно быть строкой . 
iterableЗначение должно быть либо массивом , либо Traversable . instanceofPHP 7.1.0
objectЗначение должно быть объектом .PHP 7.2.0
mixedЗначение может быть любым.PHP 8.0.0