我最近一直在玩 HHVM。让它在我的电脑上工作时遇到了很多麻烦。我知道并非所有 PHP 函数都可用。作为测试,我正在使用它而不是使用我当前的代码编写一个新网站。我在尝试使用时遇到了问题
filter_var($var,FILTER_SANITIZE_URL);
从 error.log 文件中可以看出,这个函数是未定义的。filter_var 函数是否不能在 HHVM 中使用,或者我只是在这里做错了什么。我喜欢保持干燥,这意味着我必须做比我预期的更多的验证。
filter_var
现在在 hhvm 中实现。如果您有任何问题,请打开 github 问题。
此功能似乎尚未在 HHVM 上实现见http://comments.gmane.org/gmane.science.linguistics.wikipedia.technical/70038
如果您想依赖此功能并希望它进入折叠状态,一个选项是填充它(部分实现以激发动机)。
if (!function_exists("filter_var")){
// define the constants used by the function
define("FILTER_VALIDATE_EMAIL", "email");
function filter_var(){
$args = func_get_args();
// $args[1] is the filter type (second parameter)
switch ($args[1]){
case FILTER_VALIDATE_EMAIL:
if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $args[0])?$args[0]:false;
break;
}
}
}