В PHP, если у меня есть одна функция, которая вызывает другую функцию; есть ли способ заставить вызываемую функцию выйти из функции вызывающего абонента, не убивая весь скрипт?
Например, скажем, у меня есть код вроде:
<?php
function funcA() {
funcB();
echo 'Hello, we finished funcB';
}
function funcB() {
echo 'This is funcB';
}
?>
<p>This is some text. After this text, I'm going to call funcA.</p>
<p><?php funcA(); ?></p>
<p>This is more text after funcA ran.</p>
К сожалению, если я нахожу что-то внутри funcB, что заставляет меня остановить funcA от завершения, мне, похоже, придется выйти из всего PHP-скрипта. Есть ли способ обойти это?
Я понимаю, что могу написать что-то в funcA(), чтобы проверить результат от funcB(), но в моем случае я не могу контролировать содержимое funcA(); У меня есть только контроль над содержимым funcB().
Чтобы сделать этот пример более конкретным; в данном конкретном случае я работаю с WordPress. Я подключаюсь к get_template_part( ) и пытается помешать WordPress фактически потребовать/включить файл с помощью функции locate_template(), которая вызывается после выполнения моего хука.
Есть ли у кого-нибудь совет?