Этот вопрос в основном направлен на Zend в PHP, хотя он, безусловно, относится к другим языкам и фреймворкам, поэтому я приветствую мнение каждого.
Я только недавно использовал фреймворк Zend, и хотя он не идеален, я неплохо провел время с ним. Одна вещь, которая сводит меня с ума, однако, это то, что большинство примеров, которые я вижу, что люди, использующие Zend, делают v alidation в объектах специальной формы , а не в модели. Я думаю, что это плохая практика, потому что данные могут входить в систему другими способами, помимо ввода формы, что означает, что либо валидаторы должны быть согнуты и искривлены для проверки другого ввода, либо валидация должна быть выполнена во-вторых, а логика дублирована.
Я нашел несколько других постов и блогов с людьми, которые чувствуют то же самое, что и я, но разработчики Zend сделали этот выбор по определенной причине, и другие люди, кажется, используют его без проблем, поэтому я хотел получить обратную связь от сообщества здесь.
Как я уже сказал, это в основном относится к Zend, хотя я думаю, что важно взглянуть на проблему в целом, а не работать в рамках Zend Framework, так как Zend был разработан так, чтобы вы могли использовать как можно больше, или так мало, как ты хотел.