【发布时间】:2011-08-18 12:47:37
【问题描述】:
我目前正在构建两个扩展 Zend_Validate_Abstract 的自定义验证器,它们分别命名为 Lib_Validate_TimeAfter 和 Lib_Validate_TimeBetween。名称非常简单,第一个用于测试日期/日期时间/时间是否在另一个之后,第二个用于测试日期/日期时间/时间是否位于其他两个日期/日期时间/时间之间。
这两个验证器都将依赖名为_buildDate($value) 的相同方法,该方法采用datestamp、hourstamp(hh:mm 或hh:mm:ss)、timestamp 或ISO_8601 timestamp 并将其转换为可用的日期格式。
由于我不想重复自己并将该方法复制/粘贴到我的两个验证器中,我一直在寻找最好的方法。
我现在正在研究的途径是开发某种类帮助器,我的验证器将能够使用(一种混乱的做事方式,因为它添加了不必要的依赖项)或者我可以添加另一个抽象层通过构建另一个验证器来验证日期/日期时间/时间,然后在其上扩展我的两个验证器,因为我可以共享方法 _buildDate($value),但是我认为我真的不需要验证器。
那么,有什么好的方法(我并不是真的在寻找“众神之道”的做事方式)来构造这种代码以避免重复(DRY)?
【问题讨论】:
标签: zend-framework dry zend-validate yagni