我目前正在建立两个自定义验证程序,延伸Zend_Validate_Abstract
,分别命名为Lib_Validate_TimeAfter
和Lib_Validate_TimeBetween
。这些名称非常简单,第一个用于测试日期/日期时间/时间是否在另一个之后,第二个用于测试日期/日期时间/时间是否在两个其他日期/日期时间/时间之间。Zend_Validate良好的策略,以避免重复的代码
这两项验证器将依靠名为_buildDate($value)
它取一个值在datestamp
的形式相同的方法,一个hourstamp
(无论hh:mm
或hh:mm:ss
),一个timestamp
或ISO_8601 timestamp
,并将其转换以可用的日期格式。
因为我不想重复自己,并在我的验证器中复制/粘贴该方法,我一直在寻找最好的方法来做到这一点。
我现在正在研究的途径是开发一些我的验证器可以使用的类助手(一种凌乱的做法,因为它添加了依赖关系)或者我可以添加另一层抽象通过构建验证日期/日期时间/时间的其他验证程序,然后扩展我的两个验证程序,因为我可以共享方法_buildDate($value)
,但后来我不认为我真的需要验证程序。因此,什么是一种好的方法(我不是真的在寻找“做神的方式”)来构造这种代码以避免重复(DRY)?
哇,我怎么没有想到:P。谢谢你,这是要走的路。 –
不客气。 – markus