основная проблема у under_score стиля (на примере yii2 ActiveRecord) лично для меня в том, что получается мешанина - динамические атрибуты у классов - camelCase, а атрибуты из БД - under_score. Если в своем коде можно это запомнить и объяснить себе некой логикой (если вижу under_score - значит атрибут прямиком из базы прилетел,а cameCase - это динамический атрибут генерируемый php методами) то для пользователей API вашего сервиса (если у вас есть API, конечно) вы никак не объясните такую подозрительную разницу в именовании атрибутов объекта - и при генерации справки для вашего API вам будет стыдно. Что же делать? Видимо, страдать от camelCase в названии колонок в бд (лично я считаю их менее читабельными, чем _) - но деваться некуда, против PSR не попрешь.