Именование

Стиль именования функций в PHP такой же, как и стиль именования переменных: lowerCamelCase. Но при выборе самих слов есть важное отличие.

Функция — действие, вызов функции всегда подобен указанию «сходи», «возьми», «напечатай», «положи» и так далее. Вспомните, какие функции были в предыдущих уроках:

  • showDate («показать дату»)
  • sub (subtract — «вычесть»)
  • print_r («напечатать»)
  • round («округлить»)
  • gettype («получить тип»)

Переменная — сущность, поэтому мы используем существительные:

  • $child
  • $result
  • $euros

Берите на вооружение следующую структуру: функция — глагол, переменная — существительное.

(У нас также была функция parentFor, и это имя — не глагол. Можно было бы назвать её getParentFor, но имена типа parentFor, childOf, priceAt — общепринятые формы. «Функция — глагол» — не железное правило, но почти всегда лучше придерживаться его).

В уроке про переменные мы просили вас придумать название переменной и записать в блокноте или отправить себе на почту. Найдите это название и посмотрите на него свежим взглядом: оно понятное? Описывает суть однозначно или требует вникания?

Жизнь программиста наполнена такими моментами: открыть старый код и попытаться понять его. Будьте добры к будущему себе и к коллегам, давайте переменным и функциям понятные названия.

Задание

В php из языка Си перекочевала интересная функция sprintf. Она создаёт строку на основе шаблона и данных.

<?php

$result = sprintf('Today is %s %d', 'February', 8);
print_r($result);
Today is February 8

Первый аргумент в sprintf — строка-шаблон, в которой кроме самого текста могут присутствовать специальные заполнители. Это «заглушки» для информации, которая передаётся следующими аргументами. %s означает «заглушка для строки», %d — для числа. Поэтому следующие два аргумента в нашем примере — строка и число.

Порядок и тип значений должны совпадать с порядком и типом заглушек.

При выводе дат иногда требуется фиксировать количество цифр, скажем, всегда писать нули перед числом если число меньше 10. sprintf позволяет решить эту задачу:

<?php

$result = sprintf('Today is %s %02d', 'February', 8);
print_r($result);
Today is February 08

%02d — сделать две цифры и заполнить нулями оставшееся пространство. %03d — три цифры, и так далее:

<?php

$result = sprintf('Today is %s %04d', 'February', 8);
print_r($result);
Today is February 0008

Реализуйте функцию getFormattedBirthday, которая принимает на вход три параметра: день, месяц и год рождения, а возвращает их строкой в отформатированном виде, например: 30-02-1953.

День и месяц нужно форматировать так, чтобы при необходимости добавлялся 0 слева. Например, если в качестве месяца пришла цифра 7, то в выходной строке она должна быть представлена как 07.


Советы

Упражнение доступно только авторизованным пользователям.

Пожалуйста, авторизуйтесь с помощью учётной записи GitHub, это необходимо для отслеживания прогресса выполнения уроков. Если у вас ещё нет учётной записи, то сейчас самое время создать аккаунт на GitHub.