我有一堆域对象,我正在使用重载来获取和设置属性。
我的表单过滤器很全面。如果错误类型或值的属性偷偷溜进来,我相信我可以在映射器中找到它们。最坏的情况是数据库抛出一个我可以捕捉到的异常。
在这种情况下,我应该担心域对象中的 getter 和 setter 吗?
最佳答案
作为最佳实践,在访问数据库之前,您应该始终“捕获你能抓到的东西”。虽然往返行程似乎没什么大不了,但它们很昂贵。必须在服务器上创建对象、管理应用程序池资源等等。在您访问数据库之前,尽您所能进行所有验证,尽管这很乏味。
您依赖数据库抛出异常的原因是通过其他形式的访问(例如导入脚本)确保其完整性,而不是将其用于您的应用程序(能够优雅地捕获和处理它们)。
构建get
和set
操作的最终好处是您可以完全封装这些边界检查,这样您只需编写一次代码,您朝着正确的方向前进!
关于php - 仅将 PHP setter 用于类型安全是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16896490/