Вкладені функції

Матеріал з Вікі ЦДУ
Версія від 10:32, 22 квітня 2010; Kolbka (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

Функції можна викликати всередині інших функцій - за аналогією з тим, як одна керуюча конструкція (if, while, for і т.д.) може знаходитися всередині іншої. Така можливість зручна в будь-яких програмах, і у великих, і в малих, оскільки вона збільшує ступінь модульності програми і спрощує супровід програми.

У прикладі, описаному вище, можна повністю позбутися від необхідності модифікації дати. Для цього досить включити в d1splay_copyright () виклик стандартної функції PHP date ():

function display_copyright ($ site_name) (

print "Copyright ©". date ("Y"). "$ Site_name. All Rights Reserved.";

)

Параметр Y функції date () вказує, що повертається значення представляє собою поточний рік, форматований у вигляді чотирьох цифр. Якщо системна дата встановлена правильно, PHP при кожному виконанні сценарію буде виводити рік. Функція PHP date () відрізняється винятковою гнучкістю і підтримує 25 різних прапорів форматування дати і часу.

Також допускається оголошення функцій всередині інших функцій. Тим не менше, вкладене оголошення ще не робить функцію «захищеною», тобто не обмежує можливість її виклику тієї функцією, в якій вона була оголошена. Більш того, вкладена функція не буде наслідувати параметрів батьківського функції; параметри повинні передаватися їй точно так само, як і будь-який іншої функції. Втім, вкладені оголошення функцій все одно можуть використовуватися з міркувань зручності супроводу і наочності. Приклад