Мне интересно узнать о порядке интерпретации объявлений функций с помощью PHP-движка. Я не знаю, почему когда-то PHP показывает Call to undefined функцию фатальной ошибки, а какой-то интерпретатор видит функцию без проблем.
Предположим, что мой код:
echo theRest(4,3);
function theRest($a, $b)
{
return $a % $b;
}
См., что функция объявлена после вызова, и это работает правильно. Это означает, что PHP читает весь файл перед интерпретацией?
Другой пример:
echo theRest(4,3);
include('test2.php');
test2.php
function theRest($a, $b)
{
return $a % $b;
}
Здесь я получаю фатальную ошибку: вызов функции undefined theRest(). Почему это?