Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vtoraya_chast_uchebnika_po_WWW_Okonchat_variant...doc
Скачиваний:
31
Добавлен:
27.09.2019
Размер:
6.06 Mб
Скачать

4.2.Создание, подключение и использование собственных функций в php

4.2.1. Синтаксис описания функции

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

Создать (определить) новую функцию в PHP несложно. Функции могут создаваться в любой точке программ (скриптов) PHP. Однако, по соображениям структурной организации кода, удобнее разместить все функции используемые сценарием в самом начале сценарного файла. Существует и другой способ, заметно повышающий эффективность программирования и способствующий многократному использованию кода, - выделение функций в отдельный файл (называемый библиотекой). Библиотеки удобны тем, что их функции можно использовать в разных приложениях, не создавая лишних копий и не рискуя допустить ошибки в процессе копирования. Эта тема будет рассмотрена позже.

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

function function_name([argument_list …])

{

[statements;]

[return return_value;]

}

Здесь:

  • function_name- имя функции;

  • ([argument_list …]) – необязательный список аргументов функции;

  • [statements;] операторы тела функции;

  • return_value – необязательный параметр: имя переменной, возвращающей значение вычисленное в функции.

Этот синтаксис является шаблоном, по которому программист должен создавать свою функцию.

Ниже мы рассмотрим его применение на многих примерах создания и исследования различных свойств функции. Начнём с создания функции, обеспечивающей часто встречающуюся задачу навигации по различным страницам сайта. Эта функция не совсем простая, но и не очень сложная. Она не имеет параметров и не возвращает никаких значений. Но на её примере мы изучим достаточно важные правила подключения функций к проекту.

4.2.2. Описание работы функции навигации по страницам сайта

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

Назовём эту функцию page_navigation().

Приводимые ниже примеры реализованы в среде разработки NetBeans 6.9.1.

4.2.3. Архитектура проекта, иллюстрирующего работу функции

Рассмотрим два решения задачи – совсем простое и более сложное.

Простое решение заключается в том, что описание функции включаем в единственный файл index.php и там же вызываем эту функцию.

Ниже приводим это решение – на Рис. 4-1 представлен состав проекта и в примере (Пример 4-1) его код, в котором функция выделена жирным шрифтом.

Рис. 4‑9. Состав проекта «простого» решения

Пример 4-1 - код «простого» решения

<body>

<?php

function page_navigation()

{

echo '<hr>'; //рисует горизонтальную линию

echo '<center>'; //центровка всех элементов

echo "<a href='homePage.php'>Домой</a>   ";// вставка трёх пробелов

echo "<a href='mapPage.php'>Карта сайта</a>   ";

echo "<a href='helpPage.php'>Помощь</a>";

echo '<hr>';

echo '<center>';

}

echo '<h3> Добро пожаловать!</h3>';

echo '<br>';

echo 'Для навигации используйте ссылки';

echo '<br>';echo '<br>';

page_navigation(); //вызов функции

?>

</body>

</html>

Пример показывает, как определяется функция, и как она вызывается (вызов также выделен шрифтом большего размера). Результат работы этого кода показан на Рис. 4-2. Функция page_navigation() создаёт гиперссылки на три страницы. Так как в рассматриваемом проекте нет соответствующих страниц, на которые они ссылаются, то их запуск приведёт к сообщению об ошибке. Поэтому ниже приводится более «сложный» полный проект.

Рис. 4‑10. Результат работы кода примера 4-1.

Сложное решение представлено на Рис. 4-3 (показан состав проекта) и в примерах кодов соответствующих php-файлов (Пример 4-2).

Проект под названием NavigPanel создавался в среде разработки NetBeans IDE 6.9.1 и представляет совокупность пяти php-файлов, содержащих как «чистые» html – тэги, так и тэги, реализуемые с помощью конструкции echo.

Искомая функция реализована в виде отдельного файла (Пример 4-3). Результат работы проекта с навигацией представлен на Рис. 4-4.

Рис. 4‑11. Состав полного («сложного») решения задачи навигации по web страницам.