Heim >Backend-Entwicklung >PHP-Tutorial >Konfigurieren von Laravel mit zusätzlichen Umgebungsdateien
Mit
Laravel können Sie alternative Umgebungsdateien angeben und die Standarddatei umgehen. Dies ist besonders nützlich für das Testen, wobei eine dedizierte .env
-Datei Testkonfigurationen isolieren kann. Diese Funktion bietet zwar nicht immer, bietet Flexibilität, indem die Umgebungsvariable .env.testing
. APP_ENV
nutzt.
eine .env.demo
Datei verwenden:
# Create .env.demo cp .env .env.demo echo "\nEXAMPLE_SETTING=demo" >> .env.demo # Use the `demo` env php artisan tinker --env=demo # Or set APP_ENV APP_ENV=demo php artisan tinker
laravel priorisieren .env.demo
über .env
.
.env.demo
anstelle von .env
.env.testing
Für Phpunit -Tests besteht die Standardeinstellung in der Verwendung .env
. Dies kann jedoch zu Konflikten mit den lokalen Entwicklungseinstellungen führen, insbesondere zu Datenbanken. Während phpunit.xml
Datenbankkonfiguration bietet, bietet die Verwendung .env.testing
einen saubereren Ansatz.
phpunit.xml
setzt APP_ENV
auf "Testen" und fordert Laravel zum Laden .env.testing
während der Feature -Tests auf:
<env name="APP_ENV" value="testing"></env>
erstellen .env.testing
und testerspezifische Einstellungen hinzufügen:
cp .env .env.testing echo "\nEXAMPLE_SETTING=testing" >> .env.testing
Um .env.testing
zu verifizieren, wird dies zu einem Test in tests/Feature
:
/** * A basic test example. */ public function test_the_application_returns_a_successful_response(): void { logger('Which environment file is Laravel using?', [ 'file' => $this->app->environmentFile() ]); $response = $this->get('/'); $response->assertStatus(200); }
Ausführen phpunit
sollte sich loget:
<code>[2024-05-24 00:22:42] testing.DEBUG: Which environment file is Laravel using? {"file":".env.testing"}</code>
, ob die Version steuern kann .env.testing
(oder ein Beispiel .env.testing.example
verwenden) ist eine Teamentscheidung. Für CI werden Umgebungsvariablen auf Systemebene für Einstellungen wie Testdatenbanken empfohlen. In der offiziellen Laravel -Dokumentation finden Sie eine detailliertere Konfiguration der Umgebung. Untersuchen Sie die Methoden setEnvironmentFilePath
und checkForSpecificEnvironmentFile
im Laravel -Quellcode, um einen tieferen Eintauchen in die Implementierung des Frameworks zu untersuchen.
Das obige ist der detaillierte Inhalt vonKonfigurieren von Laravel mit zusätzlichen Umgebungsdateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!