从PHP 5.3到5.2实现向后兼容的方法(预处理器指令?)

时间:2011-11-15 00:26:21

标签: php closures php-5.3 backwards-compatibility php-5.2

我编写了一个很酷的小PHP库,但是当我在我的webhost(1and1)上运行应用程序时,它会使用导致PARSE ERROR(不是运行时错误!)的闭包。我喜欢的是类似于c ++预处理器指令或特定于CSS版本的注释,它基本上忽略了PHP的一段代码< 5.3

$this->register_validator(
    function($val) use ($length_expr)
    { 
        $x = strlen($val);
        return eval("return $x $length_expr;");
    }
);

1 个答案:

答案 0 :(得分:1)

我认为存在语法错误,导致eval()代码中的解析错误。

我也在PHP 5.2.17和5.3.6中尝试过它:

您不能立即返回两个值,如下所示:

return $x $legth_expr;

这会在上述两个版本中抛出一个解析错误。

您想要达到什么目标?