2016-07-30 5 views
1

Ich baue ein Admin-Panel, also muss ich einige Core-Einstellungen (wie SMTP-Einstellungen, etc.) meiner Laravel 5 App für Endbenutzer über Front-End-Schnittstelle konfigurierbar machen.Ist es eine gute Idee, .env dynamisch in Laravel 5 zu bearbeiten?

Meine ersten Gedanken waren die Verwendung der Datenbank als Einstellungsspeicher neben dem Caching (um zu vermeiden, dass bei jedem Zugriff auf einen Konfigurationswert Datenbankaufrufe ausgelöst werden). Allerdings scheint es, dass Facades are loaded after config files, also unterhalb der Code nicht:

<?php 
// app/config/custom_settings.php 

return [ 
    'key' => Cache::get('key'); 
]; 

Aus diesem Grunde denke ich über den Benutzer Konfiguration direkt in .env Datei programmatisch zu schreiben. Ist das eine gute Idee, oder kann es in Zukunft zu Kopfschmerzen führen?

+0

Sie sollten sie als flache Dateien in "Speicher/App" speichern. Sie können sie in die Config lesen, Werte überschreiben oder einen Konfigurationshandler schreiben. Der Handler könnte Ihnen einige Vorteile bieten, wie das Überprüfen von Einstellungen. – Qevo

Antwort

0

Warum speichern Sie es nicht in Ihrer Datenbank, in der Tabelle des Benutzers oder in einer anderen verwandten Tabelle?

Ich denke, die .env-Datei ist für globale Einstellungen (Datenbank, Mail-Konfiguration, Cache-Konfiguration, ...), aber es hat nicht gedacht, Endbenutzer-Konfigurationen zu speichern.

+0

Ich werde die Frage aktualisieren, um diese Probleme zu beheben. Allerdings muss ich dem Benutzer die Möglichkeit geben, mit den App-spezifischen Konfigurationen wie SMTP und anderen zu experimentieren, da ich ein Admin-Panel erstelle. –

Verwandte Themen