Define () ist eine Funktion, die in PHP verwendet wird, um Konstanten zu definieren. Die Syntax ist sehr einfach:
define('CONSTANT_NAME', 'value');
Diese Funktion legt den Wert der Konstantennamenkonstante auf "Wert" fest und der Wert der Konstante wird nach dem Definieren nicht modifiziert.
Wenn wir jedoch versehentlich Definiere () im Code aufrufen, um eine Konstante mit demselben Namen zu definieren, meldet PHP einen Fehler:
Notice: Constant CONSTANT_NAME already defined
Die definierte () -Funktion wird verwendet, um zu überprüfen, ob eine Konstante definiert wurde. Seine Syntax ist:
defined('CONSTANT_NAME');
Wenn die Konstante bereits definiert ist, gibt definiert () wahr , sonst falsch .
Um die Fehler zu vermeiden, die durch wiederholte Definition von Konstanten verursacht werden, können wir definiere () und definierte () in Kombination verwenden. Die spezifische Methode ist: Verwenden Sie vor dem Definieren der Konstante defined () , um zu überprüfen, ob die Konstante bereits vorhanden ist. Wenn die Konstante nicht definiert ist, wird Define () verwendet, um sie zu definieren.
<?php
if (!defined('MY_CONSTANT')) {
define('MY_CONSTANT', 'SomeValue');
}
echo MY_CONSTANT; // Ausgabe: SomeValue
?>
Im obigen Code bestimmt definiert ('my_constant') zuerst, ob my_constant definiert ist. Wenn es keine Definition gibt, führen Sie Define () aus, um die Konstante zu definieren.
Diese Methode ist in vielen Fällen sehr praktisch, insbesondere wenn Sie externe Bibliotheken oder Frameworks verwenden, häufig auf wiederholte Definitionsprobleme von Konstanten stoßen. Zum Beispiel stellen wir mehrere Dateien in eine PHP -Datei ein, und diese Dateien können alle versuchen, dieselbe Konstante zu definieren. Wenn nicht jede Datei überprüft, ob die Konstanten definiert sind, kann dies zu doppelten Definitionsfehlern bei der Einbeziehung dieser Dateien führen.
Durch Kombination von Defined () und Define () können wir sicherstellen, dass die gleiche Konstante nur einmal definiert wird, wodurch unnötige Fehler vermieden werden.
Nehmen wir an, wir haben zwei Dateien datei1.php und file2.php , die beide versuchen, dieselbe konstante Site_url zu definieren. Wenn Sie defined () nicht verwenden, um zu überprüfen, ob eine Konstante definiert ist, tritt ein Fehler auf.