6 Stimmen

Gibt es eine Möglichkeit, die äußere Funktion aus der inneren Funktion heraus zu beenden?

Wenn ich in PHP eine Funktion habe, die eine andere Funktion aufruft, gibt es dann eine Möglichkeit, die aufgerufene Funktion dazu zu bringen, die aufrufende Funktion zu verlassen, ohne das gesamte Skript zu beenden?

Nehmen wir zum Beispiel an, ich habe einen Code wie diesen:

<?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>

Wenn ich innerhalb von funcB etwas finde, das mich dazu bringt, funcA zu beenden, muss ich leider das gesamte PHP-Skript beenden. Gibt es eine Möglichkeit, dies zu umgehen?

Ich verstehe, dass ich etwas in funcA() schreiben könnte, um auf ein Ergebnis von funcB() zu prüfen, aber in meinem Fall habe ich keine Kontrolle über den Inhalt von funcA(); ich habe nur Kontrolle über den Inhalt von funcB().

Um dieses Beispiel etwas konkreter zu machen, arbeite ich in diesem speziellen Fall mit WordPress. Ich hänge mich ein in die Funktion get_template_part() und versucht, WordPress davon abzuhalten, die Datei durch die locate_template()-Funktion, die nach der Ausführung meines Hooks aufgerufen wird, tatsächlich zu benötigen/einzuschließen.

Hat jemand einen Rat?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X