Урок 6

Функции

20 мин

Функции — это переиспользуемые блоки кода. Вместо того чтобы копировать один и тот же код в разных местах, вы пишете его один раз в функции и вызываете её когда нужно.

Зачем нужны функции?

Представьте, что вам нужно форматировать цену в 50 разных местах сайта. Без функций:

  • Копируете код 50 раз
  • Если нужно изменить формат — меняете в 50 местах
  • Легко ошибиться и забыть где-то обновить

С функцией:

  • Пишете код один раз
  • Вызываете функцию где нужно
  • Изменение в одном месте применяется везде

Создание и вызов функции

Функция создаётся ключевым словом function, а вызывается по имени с круглыми скобками:

Правила именования: Имя функции может содержать буквы, цифры и подчёркивания. Не может начинаться с цифры. Принято использовать camelCase: calculateTotal, getUserById, sendEmail.

Параметры — входные данные

Параметры позволяют передать данные в функцию. Функция становится универсальной — один код работает с разными данными.

Параметр vs Аргумент:

  • Параметр — переменная в объявлении функции ($name)
  • Аргумент — конкретное значение при вызове ("Иван")

Значения по умолчанию

Параметрам можно задать значения по умолчанию. Если аргумент не передан — используется дефолтное значение:

Важно: Параметры с дефолтными значениями должны идти ПОСЛЕ обязательных. function test($a = 1, $b) — ошибка!

Возврат значения (return)

Функция может не только выполнять действия, но и возвращать результат. Для этого используется return.

Важно: После return выполнение функции прекращается. Код после return не выполнится.

Типизация (PHP 7+)

Можно указать какие типы данных принимает и возвращает функция. Это помогает избежать ошибок:

Доступные типы: int, float, string, bool, array, object, mixed (любой), void (ничего не возвращает)

Область видимости переменных

Переменные имеют область видимости — место, где они доступны. Это важно понимать, чтобы избежать ошибок:

  • Локальные переменные — создаются внутри функции и доступны только в ней
  • Глобальные переменные — создаются вне функций, но по умолчанию внутри функций НЕ доступны
Совет: Избегайте global — это считается плохой практикой. Лучше передавайте данные через параметры и возвращайте через return.

Анонимные функции (замыкания)

Анонимная функция — это функция без имени. Её можно сохранить в переменную или передать как аргумент другой функции.

Практический пример

Объединим всё вместе — создадим полезную функцию форматирования цены:

Правила хороших функций:
- Одна функция = одна задача
- Понятное имя, описывающее что делает функция
- Не более 3-4 параметров
- Возвращает результат через return, а не выводит напрямую

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