Побудова бібліотек функцій
Бібліотеки функцій - одне з найбільш ефективних засобів економії часу при побудові додатків. Припустимо, ви написали серію функцій для сортування масиву. Ймовірно, ці функції будуть неодноразово використовуватися в різних додатках. Замість того щоб постійно переписувати ці функції в новий сценарій або копіювати їх через текстовий буфер, набагато зручніше розмістити всі функції сортування в окремому файлі і присвоїти йому легко впізнаване ім'я (наприклад, 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, на початок бібліотеки зазвичай включається заголовок з кількох рядків коментаря, щоб при відкритті файлу бібліотеки можна було відразу отримати коротке зведення його вмісту. Після власної бібліотеки функцій можна включити її в сценарій за допомогою команд PHP 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);