Ich möchte eine Laravel-Webanwendung erstellen, mit der ein Administrator einige Variablen (z. B. Datenbankanmeldeinformationen) in der .env-Datei mithilfe des Web-Backend-Systems ändern kann. Aber wie speichere ich die Änderungen?
Dafür gibt es keinen eingebauten Weg. Wenn Sie wirklich den Inhalt der .env
-Datei ändern wollen, müssen Sie eine Art String-Ersetzung in Kombination mit den PHP-Methoden zum Schreiben von Dateien verwenden. Wenn Sie etwas Inspiration benötigen, sollten Sie sich den Befehl key:generate
ansehen: KeyGenerateCommand.php :
Nachdem der Dateipfad erstellt und die Existenz überprüft wurde, ersetzt der Befehl einfach APP_KEY=[current app key]
durch APP_KEY=[new app key]
. Sie sollten in der Lage sein, denselben Zeichenfolgenaustausch mit anderen Variablen durchzuführen.
Last but not least wollte ich nur sagen, dass es nicht die beste Idee ist, Benutzern zu erlauben, die .env-Datei zu ändern. Für die meisten benutzerdefinierten Einstellungen würde ich empfehlen, sie in der Datenbank zu speichern. Dies ist jedoch offensichtlich ein Problem, wenn die Einstellung selbst für die Verbindung mit der Datenbank erforderlich ist.
Noch eine Implementierung, falls Sie etwas wie:
habenA = B #dies ist ein gültiger Eintrag
In Ihrer .env-Datei
%Vor%