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

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

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

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

if ($create_function) {
    created function();
}

Пример. Условное описание функций

<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>

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



Рис. 1. Вызов функции, описанной условно

Key Words for FKN + antitotal forum (CS VSU):