Логика 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

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

3 ответа

Решение

Вы можете получить версию 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();
}

Да.

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

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

Извините, я в замешательстве:)

Проверь это

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

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

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

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

Другие вопросы по тегам