我正在用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));
}
答案 0 :(得分:0)
语法解析在与运行时解析不同的级别上运行。 PHP将在脚本运行之前检测语法错误,并对if
进行评估。
可能的解决方案是Ja͢ck建议的,使用两个脚本文件,并根据版本有条件地包含一个脚本文件。