php 代码逻辑(按版本)

php code logic by version

我想要一个类似这样的解决方案:假设我有 try catch 块,它可以在任何 php 5.?.?版本但 finally 块不在任何。我的代码必须是这样的:

try {

    // some logic

} catch (Exception $ex) {
    // some logic
} finally {
    // other logic
}

但是,我怎样才能让 finally 块只有在 php 版本支持时才起作用,否则忽略?例如:

try {
    // some logic
} catch (Exception $ex) {
    // some logic
}
#if version=5.?.?
finally {
    // other logic
}
#endif

有什么解决办法吗?

对不起,我很困惑:)

check this

你可以在尝试捕获之前检查 php版本

if(php 版本 == 5.5 或更高版本)

你终于做到了

否则你没有finally

是的。

phpversion() 将 return php 版本的字符串。 (示例:“5.6.14”)

您可以使用它来设置条件语句。

您可以通过phpversion method获取php版本。您唯一的选择是编写一个 if 语句来检查它;如果它支持写入整个 try-catch-finally 块。如果没有,只写try-catch。您可以使用内联函数来防止重复代码。我不知道为什么有人需要这个,但是例如;

function fncTry(){...}
function fncCatch($exception){...}
function fncFinally(){...}

if($phpVersion == '5.5'){
   try { fncTry(); }
   catch(Exception $ex) { fncCatch($ex); }
   finally { fncFinally(); }
}else{
   try { fncTry(); }
   catch(Exception $ex) { fncCatch($ex); }

   fncFinally();
}