Если PHP является интерпретируемым языком (каждая строка выполняется по мере достижения), почему он выдает ошибки, если ошибка возникает внутри функции, которая никогда не выполняется?
Или, может быть, я не понимаю, что интерпретируемые средства?
Например,
<?php
$number = 1;
function square(){
$foo = 1 //missing semicolon, throws error
}
echo $number;
?>