Heim >Backend-Entwicklung >PHP-Tutorial >Konfigurieren von Laravel mit zusätzlichen Umgebungsdateien

Konfigurieren von Laravel mit zusätzlichen Umgebungsdateien

Robert Michael Kim
Robert Michael KimOriginal
2025-03-05 16:29:11582Durchsuche

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.

cli useage

Die einfachste Anwendung verwendet verschiedene Umgebungsdateien mit Artisan -Befehlen oder Phpunit. Zum Beispiel:

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.

Configuring Laravel With Additional Environment Files

Beispiel mit .env.demo anstelle von .env

phpunit und .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:

hinzugefügt
/**
 * 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn