Чем отличается строгая типизация от слабой? Что такое strict mode?

Ответ

PHP по умолчанию использует слабую (нестрогую) типизацию - автоматически приводит типы при необходимости. Например, строка "5" + 3 дает 8.

Строгий режим включается директивой в начале файла:

declare(strict_types=1);

В строгом режиме PHP не выполняет неявное приведение типов для аргументов функций и возвращаемых значений. Если функция ожидает int, а получает string - будет TypeError.

Важно: директива действует на файл, из которого вызывается функция, а не на файл, где функция объявлена. Арифметические операции и сравнения по-прежнему выполняют приведение типов.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.