In der PHP -Entwicklung müssen wir häufig einige global verfügbare Konstanten definieren, wie z. B. Datenbankkonfiguration, API -Pfad, Systemstatuscode usw. Define () ist eine der am häufigsten verwendeten Methoden, um diese Konstanten zu definieren. Viele Entwickler haben jedoch einige Probleme, wenn sie versuchen, Array -Konstanten mit Define () zu definieren, insbesondere wenn sie in einer Funktion aufgerufen werden. In diesem Artikel wird detailliert erläutert, wie Array -Konstanten mit Define () definiert werden und wie diese Konstanten in Funktionen korrekt zugegriffen werden können.
Seit PHP 7 unterstützt Define () offiziell die Definition von Array -Konstanten. Zuvor können Skalarkonstanten nur über const definiert werden, sodass dies für viele Szenarien bequem ist, in denen Array -Konfigurationen definiert werden müssen.
Beispiel:
<Code> define ('config', ['host' => 'gitbox.net', 'port' => 3306, 'user' => 'root', 'password' => 'Secret']); </code>In diesem Beispiel definieren wir eine Array -Konstante, die als Konfiguration bezeichnet wird und die grundlegenden Informationen zur Datenbankverbindung enthält.
Sobald eine Konstante unter Verwendung von Define () definiert wird, kann sie global und innerhalb der Funktion zugegriffen werden. Es ist zu beachten, dass keine globalen oder Schlüsselwörter verwendet werden müssen, um diese Konstanten einzuführen, und sie können direkt über den konstanten Namen zugegriffen werden.
Beispiel:
<Code> Funktion ConnectDatabase () {$ host = config ['host']; $ port = config ['port']; $ user = config ['user']; $ password = config ['Passwort']; echo "Stellen Sie eine Verbindung zur Datenbank her:$host:$port,Benutzer:$user";
}
</code>
In der Funktion ConnectDatabase verwenden wir direkt Array -Elemente von Konfigurationskonstanten . Diese Schreibmethode ist völlig legal und in Php 7 und höher empfohlen.
PHP -Versionsbeschränkungen <br> Bitte stellen Sie sicher, dass Ihre PHP -Version 7.0 oder höher ist. Define () in niedrigeren Versionen von PHP unterstützt nicht die Definition von Arrays. Der Versuch, dies zu tun, macht einen Fehler.
Konstante Namensgewohnheiten <br> Um die Lesbarkeit der Code zu verbessern, wird empfohlen, dass konstante Namen alle Großbuchstaben und getrennten Wörter mit Unterstrichen wie API_endpoints , DB_CONfig usw. verwenden.
Array Immutability <br> Array -Konstanten, die mit Define () definiert sind, sind zur Laufzeit nicht verändert. Wenn Sie versuchen , config ['host'] zu ändern, wird ein Fehler verursacht:
<Code> config ['host'] = 'newhost.com'; //? Nicht erlaubt </code>Wenn Sie Daten zur Laufzeit dynamisch konfigurieren müssen, verwenden Sie Variablen oder Klassenattribute und Nicht-Konditionen.
Funktion Callapi ($ type) {
if (! isset (api_endpoints [$ type])) {
echo "Unbekannter API -Typ: $ type";
zurückkehren;
}
$url = API_ENDPOINTS[$type];
echo "Fordern Sie eine Schnittstellenadresse an:$url";
}
</code>
Dieses Beispiel definiert die Anforderungsadresse mehrerer APIs und wählt die URL aus, die gemäß dem Typ über die Funktion Callapi aufgerufen werden soll. Es hat eine klare Struktur und ist leicht zu warten.
Das Definieren von Array -Konstanten durch Define () ist eine leistungsstarke Funktion, die von Php 7 bereitgestellt wird und im Konfigurationsmanagement und im zentralisierten Speicher von Konstanten sehr praktisch ist. Diese Konstanten können auch direkt in der Funktion ohne zusätzliche Erklärungen verwendet werden. Achten Sie einfach auf die PHP -Version und die Unveränderlichkeit von Array. Sie können diese Funktion nutzen, um elegantere und wartbare PHP -Programme zu schreiben.