• Теория
  • Теория

Оптимизируем функцию

Мы создали функцию, которая считает стоимость доставки товара. Функция работает, но код получился избыточным и негибким. Посмотрим, почему так вышло.

Стоимость доставки зависит от итоговой цены. Чтобы получить её внутри функции get_delivery_cost, мы снова берём данные из базы и вычитаем скидку из полной цены товара. Но ведь для этого уже есть функция get_final_price! Лучше использовать её. В таком случае, если изменится формула, править вычисления придётся только в одном месте.

Сделаем наш код универсальным. Вызовем функцию get_final_price внутри функции get_delivery_cost, чтобы получить итоговую цену товара. После этого убедимся, что если изменить формулу итоговой цены, то стоимость доставки пересчитается автоматически.

Мы можем вызывать одну функцию внутри другой. Но что случится, если в теле одной функции объявить другую функцию? Это не будет ошибкой, но «внутреннюю» функцию можно будет вызвать только после того, как вызовут «внешнюю».

Минимальный вид табов
  • index.html
HTML
HTML

Вы перешли на другую страницу

Кликните внутри мини-браузера, чтобы поставить фокус в это окно.

100%
Бабушка Кекс

Притормози, дружище

Проходить вызовы части «Массивы и функции в PHP» тренажёра «Знакомство с PHP» можно после регистрации и оформления подписки.