Page 43 - 4636
P. 43

Вона  викликає  функцію  з  ім'ям  function_name,  яка  не  вимагає  параметрів.  Цей  рядок  коду
        ігнорує будь-яке значення, яке може повернути дана функція.
           Безліч функцій викликаються саме таким чином. Функція phpinfo()часто виявляється корисною
        під час тестування, оскільки вона показує, яка версія РНР встановлена, повідомляє інформацію про
        рhр.  параметри  налаштування  веб-сервера.  а  також значення  зміннихphp  та  сервера.  Ця  функція  не
        приймає  ніяких  параметрів,  а  ми  зазвичай  ігноруємо  значення,  яке  вона  повертає;  тому  виклик
        phpinfo() буде мати такий вигляд:
           phpinfo();
           Однак  більшість  функцій  вимагає  передачі  їм  одного  або  більшого  числа  параметрів,  тобто
        інформації, переданої в функцію. Ми передаємо їй параметри, поміщаючи дані або ім'я змінної, яка
        містить дані, в круглі дужки, наступні за ім'ям функції. Звернення до функції з параметром набуває
        приблизно такого вигляду:
           function_name('параметр');
           У  цьому  випадку  параметром  є  рядок,  що  містить  слово  параметр;  наступні  виклики  також  є
        допустимими зверненнями до функції (залежно від очікуваного типу параметра):
           function_name(2);
           function_name(7.993) ;
           function_name($variable);
           В останньому рядку змінна $variable може бути PHP-змінній будь-якого типу, в тому числі  і
        масивом або об'єктом.
           Параметр може бути даними будь-якого типу, але конкретні функції зазвичай вимагають передачі
        конкретних типів даних.
           Кількість  прийнятих  функцією  параметрів,  що  кожен  з  них  являє  собою,  і  який  тип  даних  він
        повинен мати, можна з'ясувати з прототипу (prototype) функції. При описі функції в даній лекції
        часто наводиться її прототип.Ось, наприклад, як виглядає прототип функції fopen():
           resource fopen(string filename, string mode
           [ bool use_include_path [, resource context ]]);
           Прототип являє собою опис функції, і дуже важливо, щоб ви вміли правильно інтерпретувати його
        специфікації. У даному випадку слово resource перед ім'ям функції вказує, що ця функція повертає
        деякий  ресурс  (тут  дескриптор  відкритого  файлу).  Параметри  функції  беруть  у  круглі  дужки.  У
        випадку  функції  fopen()  в  прототипі  вказано  чотири  параметри.  Параметри  filename і  mode  є
        рядками,  параметр  use_include_path  -  логічним  значенням,  а  параметр  context  -  ресурсом.
        Квадратні  дужки  навколо  use_include_path  і  context  показують,  що  ці  параметри  є
        необов'язковими.  Для необов'язкових  параметрів  можна  або  передавати  значення,  або  ігнорувати;  в
        таких  випадках  використовується  значення,  визначене  за  замовчуванням.  Однак  слід  зазначити, що
        якщо  функція  приймає  більше  одного  додаткового  параметра,  опускати  можна  тільки  праві  з  них.
        Наприклад, у разі fopen()опустити можна або context, або use_include_pathі context, але
        не можна залишити context і опустити useinclude path.
           Після ознайомлення з прототипом цієї функції стає зрозуміло, що у наведеному нижче фрагменті
        коду є допустимий виклик fopen():
           $name = 'myfile.txt';
           $openmode = 'r' ;
           $fp = fopen($name, $openmode)
           Цей  код  визиває  функцію  з  ім'ям  fopen().  Повертається  функцією  значення  буде  збережено  у
        змінній  $fp.  У  даному  прикладі  в  функцію  передається  змінна  $name,  яка  містить  рядок  з  ім'ям
        відкриття файлу, і змінна $openmode, яка містить рядок, що вказує режим для цього файлу. Тут ми не
        передаємо функції необов'язкові третій і четвертий параметри.
           Виклик невизначеної функції
           При спробі викликати неіснуючу функцію ви отримаєте повідомлення про помилку.




                                                            40
   38   39   40   41   42   43   44   45   46   47   48