Почему я не могу вызвать функцию перед ее определением в блоке try в php - PullRequest
0 голосов
/ 28 апреля 2018

Когда я вызываю функцию внутри блока try перед определением. это дает мне фатальную ошибку

То, что я пытался сделать, это

try {
   echo someFunction();
   function someFunction()
   {
     return 'hello';
   }
 } catch (Exception $e ){
    return $e->getMessage();
 }

Хотя я просто исправляю эту функцию просто вставки над блоком try, мне интересно, что здесь не так, если оно не работает. внутри условного блока его нет.

1 Ответ

0 голосов
/ 28 апреля 2018

Когда функция определяется условным образом, ее определение должно быть обработано до ее вызова. Просто переключите эхо и работайте, как показано ниже.

try {
    function someFunction()
    {
        return 'hello';
    }
    echo someFunction();
} catch (Exception $e ){
    return $e->getMessage();
}

http://php.net/manual/en/functions.user-defined.php

...