Heim >PHP-Framework >Denken Sie an PHP >Optimierung des ThinkPHP-Konfigurationsladecodes

Optimierung des ThinkPHP-Konfigurationsladecodes

咔咔
咔咔Original
2020-10-09 15:47:271448Durchsuche

In diesem Artikel geht es hauptsächlich um Kakas Optimierung des Framework-Codes. Dies ist nur Kakas Optimierungsidee.

10. Optimierung des zugrunde liegenden Konfigurationsladecodes

in thinkphp/library/think/Config.php中方法loadFile这里看起来是不是有点不太优雅了。

既然在方法最后使用parse方法,也就是之前提到的工厂模式加载其它类型的配置文件。

那么为何不让这个工厂模式也加载PHP和yaml类型的配置文件。

Optimierung des ThinkPHP-Konfigurationsladecodes此时就需要在thinkphp/library/think/config/driver

Da wir Warum also nicht diesen Werksmodus auch Konfigurationsdateien vom Typ PHP und Yaml laden lassen? <p data-tool="mdnice编辑器" style="padding-top: 8px; padding-bottom: 8px; margin-bottom: 0px; color: black; line-height: 2; margin-top: 16px;"></p> <img. src="https://img-blog.csdnimg.cn/20200918144011668.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2Zh%20bmdr%20YW5nNw==,size_16,color_FFFFFF,t_70#pic_center" alt="Bildbeschreibung hier einfügen" style="max-width:90%"></img.>Zu diesem Zeitpunkt müssen Sie <code style="font-size: 14px; word- wrap: break-word; border-radius: 0 2px; background-color: rgba(27,31,35,.05); #1394d8 ; padding: 2px 6px; word-break: normal;">thinkphp/library/think/config/driver Dieses Verzeichnis erstellt PHP-Dateien und Yaml-Dateien.

Erstellen Sie zunächst eine PHP-Datei. 🎜🎜Und bei der Nachahmung der anderen drei Dateitypen müssen Sie beim PHP-Dateityp nur feststellen, ob es sich um eine Datei handelt, und dann die Datei importieren. 🎜🎜Die PHP-Konfigurationsdateien im Framework liegen alle in Form von Arrays vor, sodass die Parse-Methode in der PHP.php-Datei das Konfigurationsattribut direkt zurückgeben kann. 🎜

Optimierung des ThinkPHP-KonfigurationsladecodesStarten Sie mit dem lustigen Testen! Der Wert von CONFIG_EXT wurde zuvor in der Env-Datei als Yaml konfiguriert.

Das heißt, beim Lesen der Konfigurationsdatei im Konfigurationsverzeichnis können nur Dateien gelesen werden, die auf den Yaml-Typ erweitert wurden.

Sie müssen diesen Wert also zuerst zurücksetzen und können ihn später verwenden, nachdem Sie die Yaml-Typ-Factory-Klasse geschrieben haben.

Fügen Sie zum einfacheren Testen eine neue Konfiguration im Konfigurationsverzeichnis hinzu

Optimierung des ThinkPHP-KonfigurationsladecodesKommentieren Sie dann den Code aus, der die PHP- und Yaml-Typen in der lodeFile-Methode in der Konfigurationsklasse bestimmt

Optimierung des ThinkPHP-Konfigurationsladecodes
Fügen Sie hier die Bildbeschreibung ein

Im Controller lesen Sie die config/app.php-Konfiguration

Optimierung des ThinkPHP-KonfigurationsladecodesDruckergebnisse

Die gedruckten Ergebnisse weisen keine Fehler auf, was bedeutet, dass der Code, den wir einfach optimiert haben, keine Beschwerden verursacht. Optimierung des ThinkPHP-KonfigurationsladecodesDasselbe gilt für Yaml. Sie müssen nur die endgültigen Daten in ein Array konvertieren und zurückgeben.

Optimierung des ThinkPHP-KonfigurationsladecodesDas Obige ist der Analyseprozess von Kakas Optimierung des zugrunde liegenden Quellcodes zum Laden von Framework-Konfigurationsdateien. Wenn Sie Unbehagen haben, können Sie im Kommentarbereich darauf hinweisen.

Beharrlichkeit beim Lernen, Beharrlichkeit beim Bloggen und Beharrlichkeit beim Teilen sind die Überzeugungen, an denen Kaka seit seinen Anfängen immer 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 vonOptimierung des ThinkPHP-Konfigurationsladecodes. 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