Я пытаюсь разрешить вложенные условные уровни в php, связанные с обработкой ошибок.
Я уже прочитал некоторые вопросы и ответы здесь, например, для выравнивания вещей.
Но ... Представьте себе что-то вроде функции
function my_function() {
// 1. Doing things here
// ...
// 2. Handle something with text here
$foo = 'some text ...';
$foo = function_a($foo); // Handling the text, doing something, returning FALSE in case of error
$foo = function_b($foo); // Also handling the text, doing something, returning FALSE in case of error
// Final functions doing things with the text
// 3. Doing other things here
return TRUE;
}
Чтобы все сделать правильно, я должен выполнить обработку ошибок:
function my_function() {
// 1. Doing things here
// ...
// 2. Handle something with text here
$foo = 'some text ...';
$foo = function_a($foo); // Handling the text, doing something, returning FALSE in case of error
if (FALSE === $foo) {
// Handle error, e.g. skip to next flow after code block
}
$foo = function_b($foo); // Also handling the text, doing something, returning FALSE in case of error
if (FALSE === $foo) {
// Handle error, e.g. skip to next flow after code block
}
// Final functions doing things with the text
// 3. Doing other things here
return TRUE;
}
Может быть, вы уже видите мою проблему: обработка ошибок потребует от меня вложенности if
s
$foo = function_a($foo); // Handling the text, doing something, returning FALSE in case of error
if (FALSE === $foo) {
// Handle error, e.g. skip to next flow after code block
}
else {
$foo = function_b($foo); // Also handling the text, doing something, returning FALSE in case of error
if (FALSE === $foo) {
// Handle error, e.g. skip to next flow after code block
}
else {
// Final functions doing things with the text
}
}
для выполнения финальных функций, поскольку возврат из функции НЕ является опцией (шаг 3 должен выполняться независимо от того, что в 2. произойдет).
есть идеи, как "сгладить" эти вложенные условные выражения?