error_log пишет не туда, куда надо (например, если я хочу писать XML в другое место).
Так или иначе, проблемы с другими хранилищами остаются открытыми. В нашем случае было бы удобно писать в какой-нибудь Redis и собирать потом демоном для отправки в баг-трек.
Возможно только открывать соединение до возникновения фатала, но это расточительно и бессмысленно, если фатала в итоге все равно нет.
Она умеет писать в файл (или куда-то еще) фаталы и неотловленные исключения?
Отловить то их не проблема, а вот прологировать — так и не разобрались как, т.к. после неотловленного эксепшна или фатала PHP режет любые попытки открыть хендлы или соединения.
Например, если вы собираете условия «по пути», то придется конкатенировать какую-то переменную ($conditions). А если потом внезапно выяснится, что какое-то условие уже не нужно (опять же, во время прогона скрипта)? Намного удобнее использовать различные методы, вроде того же hasAvatar($hasAvatar = true).
А если нужно передать объект Select какому-то методу, чтобы он его по желанию изменил, тогда ссылку на строковую переменную придется передавать, что вообще бред, как я считаю.
Наглядно:
$conditions .= 'Avatar: true'; /* Ан нет, аватар не нужен */ $conditions = str_replace('Avatar: true', 'Avatar: false'); // Ппц
Админы будут в ярости
Опять же, как там дела с соединениями (MySQL, mongo и т.л.) после фатала?
Юзер-агенты, текущего пользователя, куки, POST/GET, isXmlHttpRequest и пр.
Так или иначе, проблемы с другими хранилищами остаются открытыми. В нашем случае было бы удобно писать в какой-нибудь Redis и собирать потом демоном для отправки в баг-трек.
Возможно только открывать соединение до возникновения фатала, но это расточительно и бессмысленно, если фатала в итоге все равно нет.
Отловить то их не проблема, а вот прологировать — так и не разобрались как, т.к. после неотловленного эксепшна или фатала PHP режет любые попытки открыть хендлы или соединения.
Например, если вы собираете условия «по пути», то придется конкатенировать какую-то переменную ($conditions). А если потом внезапно выяснится, что какое-то условие уже не нужно (опять же, во время прогона скрипта)? Намного удобнее использовать различные методы, вроде того же hasAvatar($hasAvatar = true).
А если нужно передать объект Select какому-то методу, чтобы он его по желанию изменил, тогда ссылку на строковую переменную придется передавать, что вообще бред, как я считаю.
Наглядно:
$conditions .= 'Avatar: true'; /* Ан нет, аватар не нужен */ $conditions = str_replace('Avatar: true', 'Avatar: false'); // Ппц
$select->hasAvatar()->hasAvatar(false);