在PHP中包含基于PHP版本的条件语法

时间:2014-08-19 02:55:18

标签: php

我正在用PHP编写一个函数,在这个函数中,我试图设置它,以便我可以让脚本在服务器使用PHP 5.6的情况下以一种方式调用函数,而另一种方法是它是旧版本。但是,当我在较低版本的PHP上尝试此操作时,会导致语法错误。我想知道是否有任何方法可以强制PHP完全忽略新语法,而不是在使用旧版本时抛出错误,以便我可以在版本之间使用此脚本。以下是我尝试使用的代码:

if (version_compare(PHP_VERSION, '5.6.0', '>=')) {
    // This function requires PHP 5.6+
    $stmt->bind_param($type, ...$args);
} else {
    // For older versions (slower)
    call_user_func_array([$stmt, 'bind_param'], array_merge(array($type), $args));
}

1 个答案:

答案 0 :(得分:0)

语法解析在与运行时解析不同的级别上运行。 PHP将在脚本运行之前检测语法错误,并对if进行评估。

可能的解决方案是Ja͢ck建议的,使用两个脚本文件,并根据版本有条件地包含一个脚本文件。