Мне очень нравится Zend Framework
с выхода 2ой версии, но никогда не нравились формы. Формы в Zend Framework
- это, ужас. Причем, мне не ясен подход разработчиков вообще, и не ясно, почему они считает это нормой. Чего же в них плохого?
Плохо то, что мы явно нарушаем принцип единственной ответственности, явно указываем тип поля у входного значения, расширяем элементы через декораторы. Это все очень плохо. Я не хочу знать вообще: какой тип поля у входного значения; я не хочу заботится о представлении в форме; я не хочу заботится о том, как это все будет выглядеть. Я просто хочу указать, что я жду. Все. На этом ответственность формы заканчивается. Не больше, ни меньше. Но как-то не делать так, как задумано - не получится. В любом случае, от типа поля и от трешовой манипуляции с формой в отображении мы не уйдем. Как я с этим борюсь?
В один прекрасный момент, я понял, что это клиника, и что нужно что-то делать. И я сделал. Я сделал свою форму bupy7/zf-form
, которая мне полностью нравится и решает все свои задачи.
Данная форма расширяет функционал zendframework/zend-inputfilter
, т.к. напрямую использовать его не совсем удобно. Плюс, на стороне отображения у нас есть удобный генератор форм от adamwathan/form
.
С этого момента создавать и работать с формой стало очень удобно и комфортно. В своих проектах я еще использую макросы из Twig
, чтобы не дублировать код. Теперь, каждый занимается своим делом, код стал прозрачным и легко расширяем.
Ссылка на расширение и документацию: https://github.com/bupy7/zf-form
Возможно, раз за столько времени не было сделано что-то подобное, и все обходились решением от Zend Framework
, мой подход не одобрят. Но, я всегда могу аргументировать свою точку зрения более детально, чем описал выше. Возможно, вы перейдете на темную сторону. ;)