Цитата:если говорить про конкретно этот случай, то catch будет один, потому что обычно абсолютно всё равно, какая причина помешала пользователю залогиниться,
Не все равно
ошиька БД это одно
неверный пароль это другое
пароль верный но expired это третье
Цитата: А если объект это лютое сочетание 5-ти запросов к БД? Где мне все эти запросы делать?
В методе логин и делаете где же еще? Этот метод выполняет конкретную функцию в бизнес-логике. Количество запросов не имеет значения
Цитата:Где, как не в конструкторе их все инициализировать?
если кроме инициализации переменных класса - то есть присвоения им значения производятся еще какието действия вычисления и т.д. тогда конечно нужен конструктор
в данном случае речь шла о присвоении полей таблицы БД полям класса
(Добавление)
Цитата:Т.е. хочется только помнить что у каждого класса есть статический метод типа check который вернет либо обьект, либо сигнал о проблеме.
да, только сигнал это не исключение которое будет поймано неизвестно где
а если оно поймано тут же то на фига оно надо если можно обойтись IF
Цитата:Хотелось бы конечно однообразия и однообразия академического.
нужно пользоватсыя здравым смыслом и пракьтическим опытом а н не выкладками теоретиков
(Добавление)
Это PHP приучает так писать безалаберно
писали бы вы на С++ такие ноимера бы не прошли
выкинули исключение с класса а класс остался в памяти
(знаменитая memory leak)
через пару дней бы сервер остался без памяти а еще пару дней бы ушло найти где проблемма