#4. 1 php Создание функции
Primary tabs
В предыдущих главах рассматривались базовые кирпичики программирования — простые переменные, константы, массивы, в том числе и многомерные. Настало время перейти к структурному построению приложений.
Как уже неоднократно упоминалось, в РНР имеется большое количество встроенных функций, решающих самые разнообразные задачи. В данной главе речь пойдет о создании собственных функций.
Как и в других языках программирования, функция представляет собой набор операторов, который идентифицируется определенным именем. По мере роста размера приложения возможность создания функций становится все более и более востребованной, так как разбиение кода на отдельные фрагменты повышает его прозрачность и структурность. Если скрипт содержит более двух десятков строк кода, имеет смысл подумать о разбиении его на отдельные функции.
Использование функций также значительно облегчает процесс отладки. Если ошибка возникла в скрипте из двух тысяч строк, процесс ее нахождения может стать весьма затруднительным. Но если код разбит на отдельные функции, они могут быть отлажены в индивидуальном порядке, что радикально сокращает трудоемкость тестирования.
Функции также ограничивают область действия переменных. Если в скрипте из двух тысяч строк в начале используется переменная с распространенным именем $counter, может получиться так, что в конце она уже будет использована совершенно для других целей, что неминуемо приведет к возникновению ошибки на стадии выполнения. При использовании функций все переменные, создаваемые в ее теле, являются по умолчанию локальными и не доступны извне функции. Таким образом одни и те же имена переменных могут быть использованы внутри различных функций, и это не приведет к возникновению ошибок.
Итак, перейдем к созданию собственных функций.
Создание функции
Как же создавать свои собственные функции? Ниже приведен формальный синтаксис описания функции:
function function_name([argument list... ])
{
[statements;]
[return value;]
}
Рассмотрим создание функции на примере. Пусть требуется для нескольких web-страниц создать панель навигации, содержащую набор гиперссылок. Вместо того чтобы включать необходимый код в каждый скрипт, генерирующий страницу, можно один описать соответствующую функцию, которая может быть вызвана из любого необходимого места. Путь такая функция называться nav_bar:
function nav_bar()
{
...
}Чтобы создать панель навигации, используется стандартная функция echo, которая формирует необходимые теги HTML и соответствующий текст:
function nav_bar($text, $copyright)
{
echo "<hr>";
echo "<center>";
echo "<a href='home.htmr'>Добро пожаловать!</a> ";
echo "<a href='map.html'>Kapта сайта</a> ";
echo "<a href='help.html'>Помощь</а>";
echo "<hr>";
echo "</center>";
}Теперь каждый раз при вызове данной функции будет формироваться панель навигации. Использование функции имеет еще одно преимущество — теперь для внесения изменений в внешний вид панели требуется изменить код только в одном месте, а не редактировать множество файлов.
Пример. Вызов функции nav_bar
<HTML>
<HEAD>
<TITLE>
Вызов функции
</TITLE>
</HEAD>
<BODY>
<H1>
Вызов функции
</H1>
<?php
echo "<H3>Добро пожаловать!</H3>";
echo "<br>";
echo "Для навигации используйте ссылки";
echo "<br>";
echo "<br>";
nav_bar();
function nav_bar()
{
echo "<hr>";
echo "<center>";
echo "<a href='home.html'>Домой</a> " ;
echo "<a href='map.html'>Kapта сайта</a> ";
echo "<a href='help.html'>Помощь</a>";
echo "</center>";
}
?>
</BODY>
</HTML> На рис. 1 показана панель навигации, расположенная в нижней части web-страницы. Теперь для ее создания достаточно просто вызвать функцию nav_bar.

Следует обратить внимание на главную особенность функций — их код выполняется не в момент описания функции, а в момент ее вызова из другого участка скрипта.
- Log in to post comments
- 812 reads