Heim >Backend-Entwicklung >PHP-Tutorial >Wie vermeide ich umständliche Variablenprüfungen in PHP-Code?

Wie vermeide ich umständliche Variablenprüfungen in PHP-Code?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-26 04:44:13643Durchsuche

How to Avoid Unwieldy Variable Checks in PHP Code?

Umständliche Variablenprüfungen in PHP-Code vermeiden

Ursprüngliches Problem:

Die unkontrollierte Verwendung von Variablen in PHP-Anwendungen kann zu zahlreichen Problemen führen „Undefiniert“- und „Offset“-Fehler beim Ausführen mit aktivierter E_NOTICE-Fehlerstufe. Die Behebung dieser Fehler durch übermäßige Verwendung der Funktionen isset(), empty() und array_key_exists() kann den Code aufblähen und die Lesbarkeit beeinträchtigen.

Empfohlener Ansatz:

Stattdessen Wenn Sie sich ausschließlich auf Variablenprüfungen verlassen, sollten Sie über eine Umstrukturierung Ihres Codes nachdenken, um deren Notwendigkeit zu minimieren. So geht's:

1. Korrekte Variableninitialisierung

Weisen Sie Variablen bei der Initialisierung Standardwerte zu. Dadurch entfällt die Notwendigkeit von isset()-Prüfungen, da Variablen immer einen definierten Wert haben, unabhängig davon, ob sie extern zugewiesen werden.

Beispiel:

$foo = null;    // Null
$bar = $baz = 'default value';  // Default string

2 . Funktionsargumente

Geben Sie Standardwerte für Funktionsargumente an, um Nullwerte zu vermeiden. Dadurch können Funktionen mit vorhersehbaren Eingaben arbeiten, ohne dass isset()-Prüfungen erforderlich sind.

Beispiel:

function foo($bar = null) { ... }

3. Array-Zusammenführung für Standardwerte

Verwenden Sie array_merge(), um Standardwerte mit eingehenden Datenquellen zu kombinieren. Dadurch werden Arrays mit bekannten Standardwerten initialisiert, wodurch isset()-Prüfungen überflüssig werden.

Beispiel:

$defaults = ['foo' => false, 'bar' => true, 'baz' => 'default value'];
$values = array_merge($defaults, $incoming_array);

4. Sorgfältiger Einsatz von array_key_exists()

Diese Funktion sollte nur in Ausnahmefällen verwendet werden, in denen das Vorhandensein oder Fehlen eines Schlüssels entscheidend ist. Im Allgemeinen macht die Initialisierung von Variablen oder Arrays die Notwendigkeit von array_key_exists()-Prüfungen überflüssig.

Beispiel:

$array = ['key' => null];

if (array_key_exists('key', $array)) { ... }

5. Bedingte Ausgabe in Vorlagen

Verwenden Sie isset()- und empty()-Prüfungen in Vorlagen sparsam. Wenn eine Variable nicht gesetzt oder leer ist, sollte sie durch einen Standardwert oder die entsprechende Fehlerbehandlungsmeldung ersetzt werden.

Beispiel:

<?php if (isset($foo)): ?>
    <!-- Output content -->
<?php else: ?>
    <p>Foo is not set.</p>
<?php endif; ?>

Indem Sie diese befolgen Richtlinien können Sie die Abhängigkeit von isset()-, empty()- und array_key_exists()-Prüfungen erheblich reduzieren und gleichzeitig die E_NOTICE-Kompatibilität beibehalten. Dieser Ansatz führt zu saubererem, besser lesbarem Code und verbessert die Zuverlässigkeit und Wartbarkeit Ihres Codes.

Das obige ist der detaillierte Inhalt vonWie vermeide ich umständliche Variablenprüfungen in PHP-Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn