我目前正在建立兩個自定義驗證程序,延伸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