Heim > Backend-Entwicklung > PHP-Tutorial > Ausführliche Erklärung von Yaconf, einer leistungsstarken Konfigurationsmanagement-Erweiterung in PHP

Ausführliche Erklärung von Yaconf, einer leistungsstarken Konfigurationsmanagement-Erweiterung in PHP

小云云
Freigeben: 2023-03-22 06:24:01
Original
1583 Leute haben es durchsucht

Yaconf ist eine leistungsstarke Konfigurationsverwaltungserweiterung. Es handelt sich um eine Erweiterungsanwendung unter PHP7, die vom PHP-Kernentwickler Niao Ge Hui Xinchen veröffentlicht wurde. Das Hauptziel besteht darin, das Lesen der Projektkonfigurationsdatei zu vereinfachen, die Konfigurationsdatei vom Projektcode zu trennen und die Lesbarkeit und Wartbarkeit der Konfigurationsdatei zu verbessern.

Laut Yaconf-Entwickler Hui Xinchen handelt es sich bei diesem Projekt um ein kleines Tool, das er in seinem ersten Optimierungsprojekt nach seiner Ankunft bei Weibo erstellt hat. Es heißt jedoch Weibo_Conf Weibo enthält einige andere Funktionen, die speziell für Weibo angepasst sind. Mit der Veröffentlichung von PHP7 wurden viele neue Persistenztypen unterstützt, z. B. IS_IMMUTABLE_ARRAY, sodass es unter PHP7 verfügbar ist Yaconf wurde neu entwickelt und als Open Source für jedermann zugänglich gemacht.

Lassen Sie uns zunächst darüber sprechen, was dies bewirkt:

  1. Ich habe viele Projekte gesehen, die PHP-Dateien zur Konfiguration verwenden. In einem Konfigurationsverzeichnis können sich zehn Dateien befinden . Mehrere oder sogar Dutzende von .php-Konfigurationsdateien enthalten verschiedene Arrays, und sogar einige Wörterbuchdateien (z. B. Chinesisch/Englisch-Vergleich) sind in der Konfiguration enthalten. Dies führt zu einer großen Verwirrung der Konfigurationsdateien (). Zugegebenermaßen kann die Verwendung von Opcache besser sein, aber tatsächlich gibt es immer noch einen Ausführungsprozess).

  2. Neben PHP gibt es auch JSON und Yaml Die Lesbarkeit dieser Konfigurationen ist relativ schlecht. Darüber hinaus sind auch die

  3. Konfigurationsverzeichnisse häufig mit Sicherheitsrisiken verbunden Zweitens: Wenn die Konfiguration und der Code zum selben Projekt gehören, führt dies dazu, dass die Änderung der Konfiguration auch den Codeprozess online durchläuft.

  4. Einige Ressourcenkonfigurationen Dateien, wie z. B. Die Konfigurationsinformationen von MySQL/Memcache sollten für die Entwicklung transparent sein, und Betrieb und Wartung sollten direkt verantwortlich sein. Wenn sie jedoch in den Code eingefügt werden, müssen Entwicklung und Wartung einige Änderungen initiieren geändert werden, um die Konfigurationsdatei zu ändern und online zu gehen. Yaconf ist also ein Tool, das zur Lösung dieser Probleme erstellt wurde.

Es verwendet a separates Konfigurationsverzeichnis (in yaconf.directory angegeben), nicht zusammen mit dem Code

  1. Es verarbeitet alle Konfigurationen, die beim Start von PHP verarbeitet werden sollen, und dann werden diese Konfigurationen im Speicher gespeichert. und bleibt für die gesamte Lebensdauer von PHP bestehen. Dadurch wird vermieden, dass die Konfigurationsdatei bei jeder Anforderung analysiert wird.

  2. Alle Konfigurationsinhalte sind unveränderlich, was die Speichernutzung reduzieren kann Mit Hilfe von Forks COW und beim Zugriff auf die Konfiguration ist fast keine Speicherkopie erforderlich, und die Referenzanzahl wird nicht unnötig erhöht oder verringert

  3. Das Wichtigste ist, dass Sie nach der Trennung von Konfigurationsverzeichnis und Code einen Konfigurationsverwaltungshintergrund verwenden können, um eine einheitliche Verwaltung der Konfiguration zu erreichen.
  4. Es unterstützt (für Nicht-ZTS) Neuladen von Konfigurationsänderungen, d gesteuert durch yaconf.check_delay).

  5. Es unterstützt eine Vielzahl von Konfigurationstypen, einschließlich

    , und Sie können PHP-Konstanten und Umgebungsvariablen auch direkt in die Konfiguration schreiben
  6. 字符串, 数组, 分节, 分节继承Das Wichtigste ist, dass es einfach ist.

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung von Yaconf, einer leistungsstarken Konfigurationsmanagement-Erweiterung in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage