脚本宝典收集整理的这篇文章主要介绍了php – 您应该在模型中验证吗? (基于Symfony的问题,但与一般的MVC有关),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我的模型中有一个类,例如WebUser.此类具有email_address属性.此值必须对每个WebUser都是唯一的.
现在,我已经完成了所有我的Symfony表单验证了email_address对于给定的WebUser是唯一的,但是我想知道是否应该将此验证添加到模型中?
但这也让我想到,如果你真的验证模型中的每个set()方法?确定数据库中没有错误的数据结束似乎是一个明智的决定,但是大多数(如果不是全部)数据必须通过控制器,这也会验证.所以对我来说,似乎我两次运行相同的验证,它似乎毫无意义?
你对此有何看法?我仍然倾向于在模型中进行验证,因为它决定了业务逻辑,因此最有意义.
如果你应该在模型中验证,你如何在Symfony中抛出一个由表单框架正确处理的适当的set()错误?
谢谢.
验证是应用程序的复杂功能部分,必须具有上下文感知功能.即.你必须知道用户是否已登录,她拥有什么样的凭据,请求/表单的状态等等.模型必须与上下文无关(在任何环境中工作,不仅是http请求,还有cli等),因此他们不了解用户,状态和http请求.这是对模型类的可测试性的强烈要求.
对于上述原因,功能验证必须属于知道应用程序状态的形式(即会话). symfony对sfValidator *类有很大帮助,这些类确实属于表单组件.这就是为什么表单通过功能测试进行测试的原因.
数据验证应该在模型中(即检查值是整数还是字符串,检查它是否为空等等).使用Doctrine模式内验证规则可以轻松完成此操作.
以上是脚本宝典为你收集整理的php – 您应该在模型中验证吗? (基于Symfony的问题,但与一般的MVC有关)全部内容,希望文章能够帮你解决php – 您应该在模型中验证吗? (基于Symfony的问题,但与一般的MVC有关)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。