Язык PHP использует систему номинальных типов с сильным отношением поведенческого подтипирования. PHP проверяет отношение подтипов во время компиляции, тогда как контроль типов язык выполняет динамически во время выполнения.
Система типов данных в PHP поддерживает атомарные типы, которые разрешено объединять, чтобы создавать сложные типы. Часть этих типов допустимо записывать в объявлениях типов.
Отдельные атомарные типы — встроенные типы, которые тесно интегрированы с языком и которые невозможно воспроизвести пользовательским определением типов.
Список базовых типов:
PHP считает значение скалярным, если значение принадлежит типу int, float, string или bool.
    Язык разрешает определять пользовательские типы данных через
    интерфейсы,
    классы
    и перечисления.
    PHP рассматривает пользовательские типы как типы классов.
    Приведём пример. Язык разрешает определить класс с названием Elephant,
    затем создать объект с типом Elephant,
    а потом определить функцию с параметром, который ждёт аргумент с типом Elephant.
   
Возможно объединение нескольких атомарных типов в составные типы. PHP разрешает объединять типы следующими способами:
    Пересечение типов принимает значения, которые удовлетворяют не одному,
    а одновременно нескольким объявлениям класс-типов.
    Отдельные пересекающиеся типы соединяются символом &.
    Поэтому пересечение типов T, U и V
    записывает как T&U&V.
   
    Объединение типов принимает значения нескольких отличающихся типов, а не одного.
    Отдельные объединяемые типы соединяются символом |.
    Поэтому объединение типов T, U и V,
    будет записано как T|U|V.
    Если при объединении типов добавляют пересечение типов,
    то пересечение типов берут в скобки для записи
    в дизъюнктивной нормальной форме (DNF): T|(X&Y).
   
   PHP поддерживает два псевдонима типов: mixed и
   iterable, которые соответствуют (в том же порядке)
   объединению типов
   object|resource|array|string|float|int|bool|null
   и Traversable|array.
  
Замечание: PHP не поддерживает определяемые пользователем псевдонимы типов.
