Условное описание функций

РНР является интерпретируемым языком, что, в частности, означает, что в том случае, если функция описывается в теле условного оператора if, она не будет доступна для вызова до тех пор, пока тело оператора не будет выполнено. Например, пусть функция описана следующим образом:

code: #php
if ($create_function) {
 
  function created_function() {
    echo "created_function  (): доступна только после выполнения тела оператора if.<BR>";
  }
 
}

В этом случае функция created_function будет доступна для вызова толь­ко после выполнения тела оператора if. Поэтому при необходимости использо­вать эту функцию далее, следует убедиться в ее наличии. В данном случае необ­ходимо проверить значение переменной $create_function:

code: #php
if ($create_function) {
  created_function();
}

Пример показывает использование условного описания функций.

code: #php
<HTML>
<HEAD>
<TITLE>Динамическое описание функций</TITLE>
</HEAD>
<BODY>
<H1>Динамическое описание функций </H1>
<?php
 
function existing_function() {
  echo "existing_function  (): доступна сразу после запус­ка скрипта.<BR>";
}
 
existing_function();
$create_function = TRUE;
if ($create_function) {
  function created_function() {
    echo "created_function (): доступна только после вы­полнения тела оператора if.<BR>";
  }
}
 
if ($create_function) {
  created_function();
}
?>
</BODY>
</HTML>

Результат выполнения примера показан на рисунке

результат выполнения примера
Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи:

теги: функция