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?
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