логика php кода по версии

Я хочу решение что-то вроде: представьте, у меня есть try catch Блок, работает в любом php 5.?.? версия, но с finally блок не в любом. мой код должен быть таким:

try {

// some logic

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

но как я могу сделать так, чтобы в конечном итоге блок работал, только если версия php поддерживает его, иначе игнорировать? Например:

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

Есть ли решение?

0

Решение

Вы можете получить версию PHP по метод phpversion. Единственный вариант, который у вас есть, — написать оператор 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();
}
2

Другие решения

Да.

phpversion () вернет строку версии php. (Пример: «5.6.14»)

Вы можете использовать это для настройки вашего условного оператора.

1

извините, я в замешательстве 🙂

Проверь это

и вы можете проверить phpversion, прежде чем сделать попытку поймать

if (версия php == 5.5 или выше)

Вы делаете это с наконец

иначе ты сделаешь это без наконец

0
По вопросам рекламы [email protected]