Сегодня я столкнулся с интересной проблемой. У нас есть приложение, которое использует функциональность кэширования Zend Frameworks. Запрос к этому приложению обычно вызывает метод фабрики, используя следующую строку
$result = call_user_func_array(array("myclass", "factory"), array($id));
Идея состоит в том, чтобы вернуть объект из фабричного метода, к которому мы можем получить доступ позже. Когда мы реализовали функцию кэширования, этот вызов просто умирает. Никаких ошибок, только белый экран. Ничего в журнале ошибок. Мы можем записать строку ошибки до того, как все будет в порядке, но попытка error_log внутри фабричного метода ничего не даст.
Интересно, изменив строку на:
$result = call_user_func(array("myclass", "factory"), $id);
исправляет проблему.
Мы потратили несколько часов, просматривая сообщения об ошибках, и почти ничего не нашли, чтобы объяснить это поведение. Мысли кто-нибудь?