Подсказки типов (type hints) позволяют указывать типы для параметров функций и возвращаемых значений. Например:
В этом примере функция add() принимает два целых числа и возвращает их сумму.
Однако, если передать два числа с плавающей точкой - 1.5 и 2.5, функция вернёт 3, потому что по умолчанию PHP неявно приводит значения к целевым типам. В данном случае числа с плавающей точкой преобразуются в целые.
Чтобы включить строгую типизацию, используйте директиву declare(strict_types=1); в начале файла:
С добавлением директивы строгой типизации код будет выполняться в строгом режиме. PHP включает этот режим для каждого файла отдельно.
В строгом режиме PHP ожидает, что типы передаваемых значений будут строго соответствовать объявленным. Если обнаруживается несоответствие, PHP выдаст ошибку.
При повторном запуске скрипта вы получите ошибку:
Важно: директиву declare(strict_types=1); необходимо размещать в самом начале файла скрипта, до любых других операторов.

Особый случай строгой типизации

Директива строгой типизации имеет особенность: если целевой тип - float, вы можете передать значение типа integer. Например:

Строгая типизация и подключение файлов

Предположим, функция add() определена в файле functions.php:
И этот файл подключается в index.php:
Несмотря на то, что в functions.php объявлена директива строгой типизации, это не влияет на index.php.
Примечание: конструкция include загружает код из другого файла в текущий. Подробнее об этом в следующих уроках.
Когда вы вызываете функцию, определённую в файле со строгой типизацией, из файла без неё, PHP учитывает предпочтения вызывающего файла. То есть, решение о строгом режиме принимает вызывающий файл. В данном случае index.php не будет выполняться в строгом режиме.

Итог

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