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

Mengkonfigurasi Laravel dengan fail persekitaran tambahan

Robert Michael Kim
Lepaskan: 2025-03-05 16:29:11
asal
582 orang telah melayarinya

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
Salin selepas log masuk

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>
Salin selepas log masuk

Buat .env.testing dan tambahkan tetapan khusus ujian:

cp .env .env.testing
echo "\nEXAMPLE_SETTING=testing" >> .env.testing
Salin selepas log masuk

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);
}
Salin selepas log masuk

berjalan phpunit harus log:

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

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan