Как правильно инициализировать класс с большим количеством полей?
Имеется ORM (скорее, QueryBuilder), в котором есть метод getByID, возвращающий массив с полями одной строки таблицы из БД.
Нужно превратить этот массив в объект, у которого есть своя бизнес-логика.
Возьмем, к примеру, пользователей.
У пользователя около двух десятков полей, часть из них обязательные, часть - нет. В конструкторе класса User нужно перечислить все эти поля и передавать их при инициализации? А если нужно выбрать не все поля, а только часть?
Подскажите, пожалуйста, что почитать на эту тему. Возможно, есть какие-то существующие решения с открытым кодом, на которых можно поучиться?
Я не специалист по PHP (я больше по части C# и Scala), но думаю, что в конструктор это пихать не нужно. Я бы сделал два конструктора: без параметров (чтобы создающая его функция сама проставляла поля по отдельности (в C# для этого есть специальный синтаксис, где его нет - можно просто обычным путём)) и с массивом в качестве параметра (чтобы разобрать его внутри конструктора).