Библиотеки
функций - одно из самых эффективных средств экономии времени при построении приложений.
Предположим, вы написали серию функций для сортировки массива. Вероятно, эти функции
будут неоднократно использоваться в разных приложениях. Вместо того чтобы постоянно
переписывать эти функции в новый сценарий или копировать их через текстовый буфер,
гораздо удобнее разместить все функции сортировки в отдельном файле и присвоить
ему легко узнаваемое имя (например, array_sorting.inc). Пример такого файла приведен
в листинге 4.7. Листинг 4.7. Пример библиотеки функций (array_sorting.inc)
<? // Файл: array_sorting.inc // Назначение: библиотека
функций для сортировки массивов. // Дата: 17 июля 2000 г. function
merge_sort($array. $tmparray, $right, $left) { ... function bubble_sort($array.
$n) { ... } function quicksort ($array. $right. $left) { ... } ?> Библиотека
array_sorting.inc служит накопителем для всех функций сортировки. Это удобно,
поскольку функции фактически группируются по своему назначению и при необходимости
можно легко найти нужную функцию. Как видно из листинга 4.7, в начало библиотеки
обычно включается заголовок из нескольких строк комментария, чтобы при открытии
файла библиотеки можно было сразу получить краткую сводку его содержимого. После
собственной библиотеки функций можно включить ее в сценарий при помощи команд
РНР include( ) и require( ), в результате чего все функции библиотеки становятся
доступными. В общем виде синтаксис этих команд выглядит так: include(путь/имя_файла); require(путь/имя_файла);
Также существует альтернативный вариант: include "путь/имя_файла"; require
"путь/имя_файла"; где путь определяет относительный или абсолютный
путь к файлу. Конструкции include( ) и requirе( ) подробно описаны в главе 9.
А пока достаточно запомнить, что эти конструкции используются для включения файла
непосредственно в сценарий. Предположим, вы хотите воспользоваться функциями
библиотеки array_sorting.inc в сценарии. Пример включения библиотеки показан в
листинге 4.8. Листинг 4.8. Включение библиотечного файла (array_sorting.inc)
в сценарий // Предполагается, что библиотека array_sorting.inc //
находится в одном каталоге со сценарием. include("array_sorting.inc"); //
Теперь вы можете использовать любые функции из array_sorting.inc $some_array
= array (50, 42. 35, 46); // Использовать функцию bubble_sort() $sorted_array
= bubble_sort($some_array, 1); Итоги Эта глава посвящена функциям
и их применению в РНР. В частности, мы рассмотрели следующие темы: определение
и вызов функций; вложенные функции; возврат значений из функции; рекурсивные
функции; функции-переменные; построение библиотек функций. Хорошее
знание этого материала абсолютно необходимо для понимания концепций, рассматриваемых
в следующих главах, поскольку функции используются везде, где это возможно. Как
и в других главах, я рекомендую поэкспериментировать с примерами, чтобы лучше
усвоить изложенный материал. Глава 5 посвящена массивам - несомненно, эта
тема заметно обогатит ваши познания в РНР. В главе 5 мы познакомимся с основными
принципами хранения данных, постепенно продвигаясь к более содержательным и, в
конечном счете, более интересным приложениям. |