7.2: Определение функций в PHP
Главная Страница » Книги по PHP » Самоучитель PHP 5 для чайников с примерами » Определение функций в PHP
Для начала приведем пример создания пользовательской функции. Очень часто на практике требуется вывести сообщение об ошибке, поэтому логично было бы организовать это с помощью функции (листинг 7.1).
Листинг 7.1. Пример функции.
‹html›
‹head›
‹title›Пример функции‹/title›
‹/head›
‹body›
‹?php
function error_msg ($err_str)
{
echo "‹b›0шибка!‹br›Причина: " . $err_str . "‹/b›";
}
error_msg("Bы ввели отрицательное число");
?>
‹/body›
‹/html›
Итак, описание пользовательской функции начинается со слова function. Затем следует ее имя и в круглых скобках через запятую указываются входные параметры (аргументы). В данном случае имя функции - error_msg, а аргумент - $err_str. Далее в фигурных скобках следует тело функции, в котором указываются команды на исполнение.
Разберем поэтапно ход работы такой программы. При вызове функции еrror_msg() строка вы ввели отрицательное число записывается в переменную $err_srt и выводится в теле функции.
Заметьте, что описание функции мы поместили прежде, чем вызвали ее. На самом деле, начиная с четвертой версии РНР, описание может располагаться в любом месте программы.
Мы уже встречали среди встроенных функций те, которые возвращают значения. При создании пользовательских функций тоже имеется такая возможность (листинг 7.2).
Листинг 7.2. Функция возведения в квадрат.
‹html›
‹head›
‹title›Функция возведения в квадрат‹/title›
‹/head›
‹body›
‹?php
function mnog($num)
{
return $num*$num;
}
echo mnog(2);
?›
‹/body›
‹/html›
Эта простая функция подсчитывает квадрат числа, который передается в качестве параметра. Возвращение результата происходит посредством оператора return, который находится в теле цикла. Все, что записывается после него, функция передает программе. Также оператор return можно использовать для завершения работы функции (листинг 7.3).
Листинг 7.3. Функция возведения числа в степень -1
‹html›
‹head›
‹title›Функция возведения числа в степень -1 ‹/title›
‹/head›
‹body›
‹?php
function invert($num)
{
if ($num == 0) return;
echo 1/$num;
}
echo invert(0);
?›
‹/body›
‹/html›
В этом примере если мы передадим в качестве входного параметра 0, то программа не выдаст предупреждения об ошибке, так как завершиться еще до выполнения операции деления.
Негласные правила при определении функций
В этом самоучителе уже не раз упоминалось о том, что существует ряд негласных правил оформления кода. Для функций рекомендуется писать имена в нижнем регистре и разделять слова символом подчеркивания. Пример:
set_var();
print_msg();
inc();
Обычно если функция что-то возвращает, то ее название начинают со слова get_. Пример:
get_cfg_var();
get_class();
get_browser();
Также часто используют приставки set_, show_, print_ и другие, которые позволяют по названию функции определить, что она делает. В наших примерах мы не всегда будем придерживаться этих правил, так как они несут другую смысловую нагрузку.