Rumah >pembangunan bahagian belakang >tutorial php >Mengkonfigurasi Laravel dengan fail persekitaran tambahan

Mengkonfigurasi Laravel dengan fail persekitaran tambahan

Robert Michael Kim
Robert Michael Kimasal
2025-03-05 16:29:11584semak imbas

Laravel membolehkan anda menentukan fail persekitaran alternatif, melangkaui fail .env standard. Ini amat berguna untuk ujian, di mana fail .env.testing yang berdedikasi boleh mengasingkan konfigurasi ujian. Walaupun tidak selalu diperlukan, ciri ini memberikan fleksibiliti dengan memanfaatkan pembolehubah persekitaran APP_ENV.

Penggunaan CLI

Aplikasi paling mudah menggunakan fail persekitaran yang berbeza dengan arahan artisan atau phpunit. Untuk menggunakan fail .env.demo, contohnya:

# 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 akan mengutamakan .env.demo lebih .env.

Contoh

Configuring Laravel With Additional Environment Files

Menggunakan .env.demo bukan .env

phpunit dan .env.testing

Untuk ujian phpunit, lalai adalah menggunakan .env. Walau bagaimanapun, ini boleh membawa kepada konflik dengan tetapan pembangunan tempatan, terutamanya mengenai pangkalan data. Walaupun phpunit.xml menawarkan konfigurasi pangkalan data, menggunakan .env.testing menyediakan pendekatan yang bersih.

phpunit.xml set APP_ENV untuk "menguji", mendorong Laravel untuk memuatkan .env.testing semasa ujian ciri:

<env name="APP_ENV" value="testing"></env>

Buat .env.testing dan tambahkan tetapan khusus ujian:

cp .env .env.testing
echo "\nEXAMPLE_SETTING=testing" >> .env.testing

untuk mengesahkan .env.testing dimuatkan, tambahkan ini ke ujian dalam 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);
}

berjalan phpunit harus log:

<code>[2024-05-24 00:22:42] testing.DEBUG: Which environment file is Laravel using? {"file":".env.testing"}</code>

sama ada untuk mengawal versi .env.testing (atau menggunakan sampel .env.testing.example) adalah keputusan pasukan. Untuk CI, pembolehubah persekitaran peringkat sistem disyorkan untuk tetapan seperti pangkalan data ujian. Rujuk kepada dokumentasi Laravel rasmi untuk konfigurasi persekitaran yang lebih terperinci. Untuk menyelam yang lebih mendalam ke dalam pelaksanaan rangka kerja, periksa kaedah setEnvironmentFilePath dan checkForSpecificEnvironmentFile dalam kod sumber Laravel.

Atas ialah kandungan terperinci Mengkonfigurasi Laravel dengan fail persekitaran tambahan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn