PHP:创建自定义筛选器_var()常量

PHP:创建自定义筛选器_var()常量,php,constants,filter-var,Php,Constants,Filter Var,如何创建用于PHP的自定义过滤器filter\u var() 例如: 现在我有一个函数来验证日期: private function validateDate($date){ $d = DateTime::createFromFormat('Y-m-d', $date); return $d && $d->format('Y-m-d') == $date; } 函数是从此或复制的 我希望能够调用一个常量,比如FILTER\u

如何创建用于PHP的自定义过滤器
filter\u var()

例如:

现在我有一个函数来验证日期:

    private function validateDate($date){
        $d = DateTime::createFromFormat('Y-m-d', $date);
        return $d && $d->format('Y-m-d') == $date;
    }
函数是从此或复制的

我希望能够调用一个常量,比如
FILTER\u VALIDATE\u DATE
,并用上面的代码检查它


感谢您的帮助

应该使用过滤器回调函数

$date = "2015-06-30";

echo filter_input( $date, FILTER_CALLBACK, array('options' => 'validateDate') );

PHP没有注册自定义过滤器的方法,因此不能简单地创建一个新常量来传入。您可以做的最好的事情是使用
FILTER\u回调
并将回调作为第三个参数传入,如下所示:

$valid = filter_var($date, FILTER_CALLBACK, ['options' => 'validateDate']);

你不能。但是您可以传入回调/闭包。为什么不自己做一个函数,比如
filter\u date()