Побудова бібліотек функцій

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

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