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.
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).
Neben PHP gibt es auch JSON und Yaml Die Lesbarkeit dieser Konfigurationen ist relativ schlecht. Darüber hinaus sind auch die
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.
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 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.
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
Es unterstützt (für Nicht-ZTS) Neuladen von Konfigurationsänderungen, d gesteuert durch yaconf.check_delay).
Es unterstützt eine Vielzahl von Konfigurationstypen, einschließlich
, und Sie können PHP-Konstanten und Umgebungsvariablen auch direkt in die Konfiguration schreiben字符串, 数组, 分节, 分节继承
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!