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