Антипаттерн: дуальность переменных шредингера в по ха пе как антипаттерн всей технологии по ха пе.
Запах: погроммизд по ха пе думает, что в if может быть только булевское значение. Поэтому он делает в хидере функции $filename = false.
Последствия: Следующий пограмизд Си шарп / Ява выпадает в осадок и думает, стока ли это или таки булин.
Решение проблемы: Замена по ха пе на АСП-дот-нет, Ява или Ноде-жо-эс