>> выдаёт ошибку в лог
> Этого мало. Выполнение скрипта должно прекращаться.Согласен! Но в динамических языках требования, к сожалению, не такие строгие, и чтобы сделать код надёжным не достаточно просто, чтобы он не вызывал критическую ошибку у интерпретатора, нужно смотреть в логи и исправлять ВСЕ не критические ошибки! Лог ошибок всегда должен быть чист, в идеале!
>> который Вы, видимо даже не смотрите
> Упаси меня Господь смотреть логи PHP.
А в C Вы тоже не смотрите логи компилятора?
Вот от этого у Вас и проблемы!
>> на каком языке Вы пишите
> Сейчас - на C и Erlang, если не считать мелких вспомогательных задачек,
> которые можно быстренько накарябать на awk.
То есть на языках, не считая awk (awk я не представляю без bash), со статической типизацией, не предназначенных для работы с HTTP.
>> такое рукожопие считается нормальным
> Такое рукожопие ни на одном вменяемом языке не считается нормальным. Везде, где
> встречается переменная, о которой компилятор или интерпретатор не знает, выдаётся ошибка,
> без попыток угадать что хотел сказать автор.
PHP это язык с динамической типизацией специально предназначенный для разработки динамических веб-приложений!
Тут своя специфика работы, завязанная на работе протокола HTTP. Тут не C, который разрабатывался для системных исполняемых приложений и библиотек.
И со своей задачей он справляется лучше остальных.
А если кто-то его использует для чего-то другого, не связанного с этой задачей, тот или ССЗБ или должен учитывать его особенности!