PHP: Именование
Стиль именования функций в PHP такой же, как и стиль именования переменных: lowerCamelCase. Но при выборе самих слов есть важное отличие.
Функция — действие, вызов функции всегда подобен указанию «сходи», «возьми», «напечатай», «положи» и так далее. Вспомните, какие функции были в предыдущих уроках:
showDate
(«показать дату»)sub
(subtract — «вычесть»)print_r
(«напечатать»)round
(«округлить»)gettype
(«получить тип»)
Переменная — сущность, поэтому мы используем существительные:
$child
$result
$euros
Берите на вооружение следующую структуру: функция — глагол, переменная — существительное.
В уроке про переменные мы просили вас придумать название переменной и записать в блокноте или отправить себе на почту. Найдите это название и посмотрите на него свежим взглядом: оно понятное? Описывает суть однозначно или требует вникания?
Жизнь программиста наполнена такими моментами: открыть старый код и попытаться понять его. Будьте добры к будущему себе и к коллегам, давайте переменным и функциям понятные названия.
Задание
В 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()
, которая принимает на вход три параметра: день, месяц и год рождения, а возвращает их строкой в отформатированном виде, например: 20-02-1953
.
<?php
$result = getFormattedBirthday(20, 2, 1953);
print_r($result);
20-02-1953
День и месяц нужно форматировать так, чтобы при необходимости добавлялся 0
слева. Например, если в качестве месяца пришла цифра 7
, то в выходной строке она должна быть представлена как 07
.