Heim >PHP-Framework >Denken Sie an PHP >Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?

Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?

咔咔
咔咔Original
2020-10-09 15:44:351923Durchsuche

In diesem Artikel wird hauptsächlich erläutert, wie das Framework env-Dateien zum Laden anderer Arten von Konfigurationsdateien verwendet. In einem früheren Artikel wurde das Laden von Konfigurationsdateien im Werksmodus vorgestellt.

9. So laden Sie das Framework andere Arten von Konfigurationsdateien mithilfe von Env-Dateien herunter

Es gibt ein Attribut in der Initialisierungsanwendung und im Modul ist configExt, dieses Attribut ist die Erweiterung der Datei

Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?Suchen Sie danach, wo die Eigenschaften festgelegt sind.

Laut dem Ladevorgang der Konfigurationsdatei können Sie deutlich init方法的上一层是初始化应用,也就是initialize方法。

那么这个属性肯定是在init方法之前就已经提前设定好了的。

返回到init方法的上一层initialize

Dann muss dieses Attribut in init wurde im Voraus festgelegt. 🎜🎜Zurück zu Die obere Ebene der Init-Methodeinitialize, um die Einstellung dieses Werts direkt anzuzeigen. 🎜
Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?
Hier Bildbeschreibung einfügen

Dieser Wert wird aus der Umgebungsvariablen von env abgerufen. Wenn nicht, wird standardmäßig PHP verwendet, sodass Sie eine env-Datei erstellen müssen.

Und geben Sie einen Standardwert von yaml an

Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?Hier können Sie die Änderungen sehen. Es gibt einen Fehler in der 5.1.34 LTS-Version. Dieses Problem wurde behoben.

Ich glaube, Sie können diesen Code sehen. Er legt zunächst den Standardwert für configExt fest und lädt dann die Konfigurationsdatei der Umgebungsvariablen.

Dann ist der Code zum Laden dieser Umgebungsvariablen bedeutungslos. Der Wert von configExt ist immer .php

Auch wenn die Konfiguration in der env-Datei vorgenommen wird, wird sie nicht abgerufen.

Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?Eine Yaml-Konfigurationsdatei wurde zuvor zur Konfigurationskonfigurationsdatei hinzugefügt

Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt? Dann können Sie zu diesem Zeitpunkt die Konfigurationsklasse verwenden, um die Konfiguration der Yaml-Typdatei abzurufen.

Nach dem Test gibt es kein Problem, die Daten können herauskommen.

Aber das trauen wir uns in konkreten Projekten nicht zu! Wenn Sie den Wert configExt für die Umgebungsvariable konfigurieren möchten, müssen Sie alle Konfigurationsdateien im Konfigurationsverzeichnis in den entsprechenden Typ konvertieren.

Wenn configExt beispielsweise auf .ini eingestellt ist, müssen alle Dateien im Konfigurationsverzeichnis in das INI-Dateiformat geändert werden

Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?Wenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?Dieser Inhalt ist nur für die Anwendung nach dem Lesen des Quellcodes bestimmt. Verwenden Sie ihn nicht auf diese Weise in tatsächlichen Projekten, da alle Konfigurationsdateien im TP-Framework vom Typ PHP sind.

Wenn Sie es auf andere Typen ändern, müssen Sie alle Konfigurationsdateien im Framework ändern. So etwas ist nicht möglich!

Beharrlichkeit beim Lernen, Beharrlichkeit beim Bloggen und Beharrlichkeit beim Teilen sind die Überzeugungen, an denen Kaka seit seinen Anfängen festgehalten hat. Ich hoffe, dass Kakas Artikel im riesigen Internet Ihnen ein wenig helfen können. Ich bin Kaka, bis zum nächsten Mal.

Das obige ist der detaillierte Inhalt vonWenn Sie den Quellcode von ThinkPHP nicht studieren, woher wissen Sie dann, welche Rolle die env-Datei spielt?. 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