PHP function(). Пользовательские функции.


Если в программе некоторые куски кода используются неоднократно, то для улучшения его читабельности целесообразно оформить повторяющиеся фрагменты кода в функции PHP – function(). Если вы знакомы с некоторыми другими языками программирования, то могли встречать такое понятие, как подпрограмма. В PHP роль подпрограммы выполняют функции. В любом месте нашего скрипта мы можем обратиться к нашей функции, чтобы она выполнила некоторые действия и вернула (или не вернула) результат своей работы.

Существуют встроенные и пользовательские функции. Здесь мы будем говорить только о пользовательских функциях, которые мы можем создавать самостоятельно.

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

1
2
3
function NameOfFunction(){
   //здесь какой-то код
}

где NameOfFunction – это имя функции. Теоретически имя функции может быть и на кириллице, но по стандартам лучше указывать имя на английском языке (латинице).

Когда нам необходимо вызвать нашу функцию, то в нужном месте файла нам достаточно вставить имя функции, и она будет отработана:

1
NameOfFunction();

Само описание функции может быть размещено как до непосредственного ее вызова, так и после (если вы хотите узнать почему, то почитайте, как работает трансляция кода в PHP с версии 5).

Рассмотрим два примера:

1
2
3
4
5
6
<?php
Test();
function Test(){
   echo 'test';
}
?>
1
2
3
4
5
6
<?php
function Test(){
   echo 'test';
}
Test();
?>

В обоих примера будет выведено ‘test’.

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

1
2
3
4
5
6
7
8
<?php
function Test($a){
   echo $a;
}
$a = 'Моя тестовая строка';
Test($a);
//будет выведено 'Моя тестовая строка'
?>

Переменные, которые мы указываем в скобках, называются параметрами функции. Если мы хотим, чтобы параметры автоматически получали значение по умолчанию (например, если переменная не была передана функции), то мы в скобках при описании функции можем присвоить данное значение.

1
2
3
4
5
6
7
8
<?php
function Test($a = 1){
   echo $a;
}
 
Test();
//будет выведено '1'
?>

При наличии нескольких параметров они перечисляются в скобках через запятую:

1
2
3
4
5
6
7
8
9
<?php
function Test($a, $b){
   echo $a.$b;
}
$a = 'Это моя ';
$b = 'функция';
Test($a, $b);
//будет выведено 'Это моя функция'
?>

Если мы хотим, чтобы функция возвращала результат своей работы, то нужно использовать ключевое слово return:

1
2
3
4
5
6
7
8
9
10
<?php
function Test($a, $b){
   return $a + $b;
}
$a = 1;
$b = 3;
$c = test($a, $b);
echo $c;
//будет выведено '4'
?>

Если мы хотим использовать внутри функции переменные, объявленные за ее пределами и не переданные ей, то нам необходимо использовать ключевое слово global:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
function Test(){
global $a;
global $b;
   return $a + $b;
}
$a = 1;
$b = 3;
$c = test($a, $b);
echo $c;
//будет выведено '4'
?>

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

1
2
3
4
5
6
7
8
9
<?php
function Test(){
$a = 5;
}
$a = 1;
test();
echo $a;
//будет выведено '1'
?>

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

Некоторые правила в именовании функций:

1. Нельзя использовать пробелы, если имя функции включает в себя несколько слов. Вы можете использовать нижнее подчеркивание, либо использовать чередование заглавных и прописных букв:

NameOfFunction();
name_of_function();

2. Название функций регистронезависимые, это значит, что функции Test и test – это одна и та же функция.
3. Название функции может начинаться либо с символа (буквы), либо с нижнего подчеркивания.
4. Имена функций должны быть уникальными.





Другие посты

Категория: PHP-скрипты

Оставить комментарий