Page 45 - 4636
P. 45
function my_function() {
echo 'Викликана моя функція';
}
Це оголошення функції починається з ключового слова function, що повідомляє людині і
аналізатору РНР, що далі слідує опис користувацької функції. У даному випадку ім'ям функції є
my_function. Нову функцію можна викликати за допомогою такого оператора:
my_function() ;
Як ви вже, напевно, здогадалися, виклик цієї функції призведе до відображення тексту “Викликана
моя функція” у вікні браузера.
Вбудовані функції доступні для всіх РНР-сценаріїв, але якщо ви ставите свої власні функції, то вони
доступні тільки для того сценарію (сценаріїв), де вони були оголошені. Має сенс завести окремий
файл і помістити в нього всі часто використовувані функції. Тоді в кожному зі своїх сценаріїв ви
можете за допомогою оператора require() отримати доступ до цих функцій.
Всередині функції код, який вирішує необхідне завдання, беруть у фігурні дужки. Між цими
дужками можна помістити будь-які конструкції, допустимі в будь-якому місці РНР-сценарію, в тому
числі виклики функцій, оголошення нових змінних або функцій, оператори require() або
include() і звичайний HTML-текст. Якщо всередині функції потрібно вийти з середовища РНР і
ввести звичайний HTML-тексту, це робиться так само, як в будь-якому іншому місці сценарію, тобто
встановлюється закриття РНР-дескриптора, за якими розміщується текст HTML. Нижче показаний
допустимий варіант раніше наведеного прикладу, який генерує такий самий вивід:
<?php
function my_function() {
?>
Викликана моя функція
<?php
)
?>
Зверніть увагу на те, що РНР-код укладений між відповідними відкриваючим і закриваючим РНР-
дескрипторами. Протягом цієї лекції в більшості коротких фрагментів коду ці дескриптори
опускаються. Тут же вони показані, тому що вони необхідні всередині прикладу, а також вище та
нижче віднього.
Найменування функцій
Найважливіше при виборі імені функції полягає в тому, щоб це ім'я було коротким і несло
відповідне смислове навантаження. Якщо функція створює верхній колонтитул сторінки, відповідним
ім'ям може бути pageheader() або page_header().
На імена функцій накладаються такі обмеження:
функція не може мати те ж ім'я, що у існуючої функції;
ім'я функції може містити тільки літери, цифри та символи підкреслення;
ім'я функції не може починатися з цифри.
Багато мов програмування допускають багаторазове використання імен функцій. Ця властивість
називається перевантаженням функцій (function overloading). Однак РНР не підтримує
перевантаження функцій, тому функція не може мати імені, що збігається з ім'ям будь-якої вбудованої
чи існуючої користувацької функції. Майте на увазі, що хоча будь-який РНР-сценарій розпізнає всі
вбудовані функції, тим не менш, визначені користувачем функції існують тільки в тих ситуаціях, в
яких вони оголошені. Це означає, що ім'я функції можна повторно використовувати в іншому файлі,
але це може призвести до плутанини, тому подібних ситуацій слід уникати.
Такі імена функцій є допустимими:
name()
name2()
name_three() ()
_namefour()
42