PHP liefert die Funktion get_defined_constants () , die alle definierten Konstanten im aktuellen Skript zurückgeben kann. Die Funktion gibt ein assoziatives Array zurück, in dem der Schlüssel der Name der Konstante ist und der Wert der Wert der Konstante ist. Zum Beispiel:
$constants = get_defined_constants();
print_r($constants);
Dieser Code gibt alle definierten Konstanten und deren Werte aus. Angenommen, wir haben zwei Versionen der Liste der Konstantendefinition: Eine ist die alte Version der konstanten Definition und die andere ist die neue Version der konstanten Definition.
Angenommen, wir haben zwei konstante Arrays, eine ist die alte Version der Konstante und die andere ist die neue Version der Konstante. Wir können die neuen Konstanten in der neuen Version über die Funktion array_diff_key () finden. Die Funktion array_diff_key () kann die Schlüssel (d. H. Konstante Namen) von zwei Arrays vergleichen, wobei Schlüsselwertpaare, die sich im ersten Array befinden, jedoch nicht im zweiten Array, zurückgegeben werden.
// Alte Version der Konstanten
$old_constants = get_defined_constants();
// Simulieren Sie die neue Version von Konstanten
define('NEW_CONSTANT', 'New Value');
define('ANOTHER_NEW_CONSTANT', 'Another New Value');
$new_constants = get_defined_constants();
// verwenden array_diff_key Finde neue Konstanten
$new_added_constants = array_diff_key($new_constants, $old_constants);
// Neue Konstanten ausgeben
print_r($new_added_constants);
Verwenden Sie in diesem Beispiel zunächst get_defined_constants () , um alle definierten Konstanten im aktuellen Skript zu erhalten. Simulieren Sie dann eine neue Version der konstanten Definition und rufen Sie Get_Defined_Constants () erneut auf, um die neue konstante Liste zu erhalten. Vergleichen Sie die Reihe neuer und alter Konstanten über die Funktion array_diff_key (), um die neu hinzugefügten Konstanten zu finden.
array_diff_key () vergleicht die Schlüssel der beiden Arrays und gibt den Teil des Schlüssels (konstanter Name) im Neuarray zurück, der im alten Array nicht existiert. Auf diese Weise können wir letztendlich die neu hinzugefügten Konstanten herausfinden.
Dieser Ansatz ist sehr nützlich, um verschiedene Versionen von Konstanten in großen Projekten zu vergleichen. Insbesondere in einer mehrpersonen Umgebung für die Entwicklung der Zusammenarbeit können die neu hinzugefügten Konstanten den Entwicklern helfen, den aktualisierten Inhalt des Projekts schnell zu verstehen und Fehler zu vermeiden, die durch Konflikte oder Unterlassungen konstanter Namen verursacht werden.
get_defined_constants () gibt nur Konstanten zurück, die im aktuellen Skript definiert sind. Stellen Sie bei Verwendung dieser Methode sicher, dass die Liste der von Ihnen erhaltenen Konstanten auf dem neuesten Stand ist.
Array_diff_key () vergleicht nur die Schlüsselnamen des Arrays. Wenn sich der Wert der konstanten Änderungen, aber die Schlüsselnamen nicht ändert, kann diese Methode nicht erkennen.
Wenn Sie den Wert einer bestimmten Konstante anzeigen müssen, gibt get_defined_constants () ein Array zurück, das den konstanten Namen und den konstanten Wert enthält, und der Wert kann direkt über den konstanten Namen zugegriffen werden.
Auf diese Weise können Sie leicht die in der neuen Version hinzugefügten Konstanten finden, um sicherzustellen, dass der Code aktualisiert und effizienter gepflegt wird.