Атомная энергетика. Ядерные реакторы АЭС. Атомный флот. Ядерное оружие

РБМК-1000
Гражданский суда
Авиация

Высшая математика

Задачи
Практикум
Карта сайта

Построение библиотек функций

Библиотеки функций - одно из самых эффективных средств экономии времени при построении приложений. Предположим, вы написали серию функций для сортировки массива. Вероятно, эти функции будут неоднократно использоваться в разных приложениях. Вместо того чтобы постоянно переписывать эти функции в новый сценарий или копировать их через текстовый буфер, гораздо удобнее разместить все функции сортировки в отдельном файле и присвоить ему легко узнаваемое имя (например, 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 мы познакомимся с основными принципами хранения данных, постепенно продвигаясь к более содержательным и, в конечном счете, более интересным приложениям.

На главную