Функции как проверяемые контракты
Хорошая функция получает необходимые данные явно и возвращает один предсказуемый результат.
function total(array $prices): intЦель урока
Разделить программу на именованные операции с понятным входом и выходом.
Пример
<?php
function total(array $prices): int {
return array_sum($prices);
}
echo total([100, 250]);Контракт
Типы помогают обнаружить неверный вызов рядом с причиной. Они не проверяют предметные ограничения: отрицательную цену нужно запретить отдельным условием.
Ошибка
Функция, которая одновременно читает глобальный ввод, меняет базу, пишет лог и возвращает HTML, трудно тестируется. Разделите преобразование данных и побочные эффекты.
Мини-задача
Создайте функцию расчёта скидки с проверкой диапазона 0–100 и тремя тестовыми примерами.
Закрепите материал
Отметка, заметка, чек-лист и ответы остаются в localStorage этого браузера и не отправляются в аналитику.
Связанные материалы
Источники и проверка
- PHP Documentation Group — структурный источник, без внешней ссылки
Последняя содержательная проверка: . Автор-разработчик Михаил Каржин. Методика качества контента.