Из того что я понял, то мне кажеться подойдет фабрика, а уж фабрика пусть и занимаетсья созданием класса формы и данными з сессии. Причем можна сделать адаптер для разных пособов хранения (буть то база, редис или другое). Лично я баловался когда-то таким и пришел к виводу, что лучше контроллера или модели никто не знает как валидировать. Разясню: припустим у нас есть модел тот самый юзер. С юзером связаные операции регистрация, вход, востановление пароля и подтвержденние мыла. Делать 4 разных класса очень громоздко и куча копипасты. Делать один универсальный класс формы - куча условий (отображать, валидировать или нет). В том же Yii они зделали валидацию внутри модели, но у них повсемесно юзаеться ActiveRecord что тоже не есть айс и приводит к кучи визовов сетеров в контроллере. Как всегда нету серебяной пули и в данній момент мне больше всего импонирует конфигурация валидатора с помощю файлов, но не в модели а отдельно ибо это совсем другая сущонсть. Чтобы не плодить кучу конфигов для форм одной сущости должен быть неий ключ действия (примерно как в Yii on => scenario). А сами формы генерить в вюхе визвивая при этом хелпер который сам загоняет название и значения интпута по ключу, но не генерит сам инпут ибо задолбошся прописивать классы атрибуты и прочее (да и верстальщику проще). На счет ошибок тот же хелпер должен возвращать, а уже в вюхе обрабативать ошики (отображать рядом или все вместе вверху формы). такой способ по мне лучше. а все что очень часто повторяеться можн овинести в отдельные хелперы/модули/компоненты (например быстрый CRUD для админкы), которые обьединяют в себе все в одном
|