Курс PHP функції функція 2 Функція — це

Скачать презентацию Курс PHP функції функція 2 Функція — це Скачать презентацию Курс PHP функції функція 2 Функція — це

40920-06_kurs_php_(functions).ppt

  • Количество слайдов: 26

>Курс PHP функції Курс PHP функції

>функція 2 Функція — це відображення множини її аргументів на множину її значень. функція 2 Функція — це відображення множини її аргументів на множину її значень. Це спеціальним чином оформлений фрагмент програми, до якого можна звернутися всередині програми (підпрограма для ассемблера). Вони покращують читабельність та скорочують вихідний код. Функції бувають: стандартні (передбачені мовою PHP); користувацькі (які виконують дії, які нам потрібні).

>Особливості використання функцій Можна використовувати параметри, встановлені по замовчуванню. Це дозволяє викликати одну й Особливості використання функцій Можна використовувати параметри, встановлені по замовчуванню. Це дозволяє викликати одну й ту саму функцію з змінним числом параметрів. Функція може повертати значення любого типу. Область видимості змінних всередині функції деревовидна. Повернутися з функції можна за допомогою функції return. Можна змінювати значення змінних, які передані в якості аргумента.

>Недоліки функцій в PHP Неможливо об’явити локальну функцію (тобто неможливо створити функцію всередині іншої Недоліки функцій в PHP Неможливо об’явити локальну функцію (тобто неможливо створити функцію всередині іншої так, щоб вона була видима тільки цій функції -- її буде видно всій програмі). Приклад, Результат: “Firstsecond”

>Недоліки функцій в PHP 2. Область видимості функцій.  Глобальні та локальні змінні. Глобальні Недоліки функцій в PHP 2. Область видимості функцій. Глобальні та локальні змінні. Глобальні – ті, які видні та доступні всій програмі (функціям). Локальні визначені всередині підпрограми (функції) і видні та доступні тільки їй. Із тіла функції неможливо змінити глобальну змінну, навіть якщо локальну назвати так само – вона невидима за межами цієї функції. Приклад, Результат: і=5; і=10; Однак є спеціальна інструкція global (робота з глобальними змінними), яка це дозволяє робити.

>Створення користувацьких функцій  1. Об’явлення функцій – може бути об’явлена в любій частині Створення користувацьких функцій 1. Об’явлення функцій – може бути об’явлена в любій частині програми, до місця першого використання, в межах php-коду. Дійшовши до визначення функції, транслятор перевіряє коректність визначення і транслює це визначення у внутрішнє представлення, при цьому код не транслює (для чого транслювати, якщо вона може ніколи не бути використаною). Синтаксис: function Ім’я_функції (пар1, пар2, ... парN) { Блок_виконання return "значення, що повертається функцією"; } Для передачі результату роботи функції в основну програму - return

>ІМЕНА ФУНКЦІЙ (вимоги) І’мя бажано писати англ. мовою В імені не може бути пробілів. ІМЕНА ФУНКЦІЙ (вимоги) І’мя бажано писати англ. мовою В імені не може бути пробілів. Імя повинно бути унікальним. Немає $ перед іменем функції. Імена функцій не чутливі до регістру. Функція – дія, ім’я – дієслово. 7

>Передача функції параметрів.  8 1. По значенню (доступний у функції тільки для читання, Передача функції параметрів. 8 1. По значенню (доступний у функції тільки для читання, функція його використовує, але змінити його неможе) Результат: виведемо рядок “Параметр=3” – два рази

>2. По посиланню (тут передається змінна з &, а не значення)   2. По посиланню (тут передається змінна з &, а не значення) Результат:

>3. По-замовчуванню   Параметри по-замовчуванню повинні стояти після звичайних параметрів (якщо такі існують) 3. По-замовчуванню Параметри по-замовчуванню повинні стояти після звичайних параметрів (якщо такі існують)

>Списки аргументів перемінної довжини Вбудовані функції func_num_args(), func_get_arg(), func_get_args(). Функція func_num_args() повертає число аргументів, Списки аргументів перемінної довжини Вбудовані функції func_num_args(), func_get_arg(), func_get_args(). Функція func_num_args() повертає число аргументів, переданих в текучу функцію. Ця функція може використовуватися тільки всередині визначення користувацької функції. Якщо вона появиться поза функцією, то інтерпретатор видасть попередження. 11

>Списки аргументів перемінної довжини  Функція func_get_arg (ціле номер_аргумента ) повертає аргумент із списка Списки аргументів перемінної довжини Функція func_get_arg (ціле номер_аргумента ) повертає аргумент із списка перемінних в функцію аргументів, порядковий номер якого заданий параметром номер_аргумента. Аргументи функції рахуються починаючи з нуля. Ця функція може використовуватися тільки всередині визначення визначення функції. Номер_аргумента не может перевищувати число аргументів, переданих в функцію. Так як буде згенеровано попередження, і функція func_get_arg() поверне False. 12

>Створимо функцію для перевірки типу даних її аргументів. Рахуємо, що перевірка пройшла успішно, якщо Створимо функцію для перевірки типу даних її аргументів. Рахуємо, що перевірка пройшла успішно, якщо перший аргумент функції – ціле число, другий – рядок. =1) if (!is_int(func_get_arg(0))) $check = false; /* перевіряємо, чи є другий аргумент, переданий у функцію, рядком */ if ($n>=2) if (!is_string(func_get_arg(1))) $check = false; return $check; } if (DataCheck(“text”, 324)) echo "Перевірка пройшла успішно
"; else echo "Дані не задовільняють умові
"; if (DataCheck(123,"text")) echo "Перевірка пройшла успішно
"; else echo "Дані не задовільняють умові
"; ?> Результат: Дані не задовільняють умові Перевірка пройшла успішно 13

>14 Функція func_get_args() повертає масив, який складається із списку аргументів, переданих функції. Кожен елемент 14 Функція func_get_args() повертає масив, який складається із списку аргументів, переданих функції. Кожен елемент масиву відповідає аргументу, переданому функції. Якщо функція використовується поза визначеннямфункції, то генерується попередження.

>Перепишемо попередній приклад, використовуючи цю функцію. Будемо перевіряти, чи є цілим числом кожен парний Перепишемо попередній приклад, використовуючи цю функцію. Будемо перевіряти, чи є цілим числом кожен парний аргумент, який передається функції: "; else echo "Дані не задовільняють умовам
"; ?> 15

>Використаємо в якості аргументу масив і перевіримо, чи є непарний параметр функції цілим числом? Використаємо в якості аргументу масив і перевіримо, чи є непарний параметр функції цілим числом? "; else echo "Дані не задовільняють умові
"; ?> 16

>Використання перемінних всередині функції  Щоб використовувати всередині функції перемінні, задані ззовні її, ці Використання перемінних всередині функції Щоб використовувати всередині функції перемінні, задані ззовні її, ці перемінні потрібно об’явити як глобальні. Для цього в тілі функції потрібно перечислити їх імена після ключового слова global: global $var1, $var2; '; Test_g(); ?> 17

>Статичні функції Щоб використати переміні тільки всередині функції, при цьому зберігаючи їх значення і Статичні функції Щоб використати переміні тільки всередині функції, при цьому зберігаючи їх значення і після виходу із функції, потрібно об’явити ці перемінні як статичні. Статичні перемінні видно тільки всередині функції і не втрачають свого значення, якщо виконання програми виходить за межі функції. Об’явлення таких перемінних відбувається за допомогою ключового слова static: static $var1, $var2; Статичній перемінній може бути присвоєно любе значення, але не посилання.

>visibility <?php function inc($a) {  $a++; }  $a = 100; inc($a); echo visibility 19

>visibility <?php function inc($a) {  global $a;  $a++; }  $a = visibility 20

>Lifetime (global) <?php  $global_var = 100;  unset($global_var);  echo $globalvar; ?> Lifetime (global) 21

$msg" src="https://present5.com/presentacii-2/20171213\40920-06_kurs_php_(functions).ppt\40920-06_kurs_php_(functions)_22.jpg" alt=">Lifetime (static) $msg" /> Lifetime (static) $msg = ".$a++;} printMsg("Один"); printMsg("Два"); printMsg("Три"); ?> 22

>рекурсія <?php function factorial($n) {  if ($n < 0)   return 0; рекурсія "; echo factorial(5)."

"; echo factorial(8)."

"; ?> 23

>рекурсія <?php function factorial($n) {  if ($n < 0)   return 0; рекурсія "; echo factorial(5)."

"; echo factorial(8)."

"; ?> 24

"; } $myFunc = "printMsg";" src="https://present5.com/presentacii-2/20171213\40920-06_kurs_php_(functions).ppt\40920-06_kurs_php_(functions)_25.jpg" alt=">Динамічний виклик "; } $myFunc = "printMsg";" /> Динамічний виклик "; } $myFunc = "printMsg"; $myFunc("Динамічний виклик функції"); ?> 25

>Заключення Не ставте перед функцією глобальних задач. Функція має бути невеликою (20-30 рядків). Перш Заключення Не ставте перед функцією глобальних задач. Функція має бути невеликою (20-30 рядків). Перш ніж створювати свою функцію, переконайтеся, що немає аналогічної вбудованої. 26