С первой формой у вас есть возможность делать дополнительные преобразования и асимметричные отображения.Таким образом, в этом смысле вы действительно создаете класс Model, который делает абстрактное представление вашего фактического источника данных.
Со второй формой, если вы следуете парадигме Convention Over Configuration (CoC) и четко определяете своюусловности, это может сработать.Но, по сути, вы можете столкнуться с ситуациями, когда вам придется делать исключения.Я бы рекомендовал более гибкий подход, описанный выше, в качестве предвидения будущих исключений.
Тангенциальный: если вы не пишете свои собственные сопоставления объектов исключительно для образовательных целей или по какой-либо другой вероятной причине, вы смотрели RedBeanPHP или другие варианты?