Rumah >rangka kerja php >Laravel >Bagaimana untuk melakukan konfigurasi pangkalan data dalam Laravel

Bagaimana untuk melakukan konfigurasi pangkalan data dalam Laravel

PHPz
PHPzasal
2023-04-14 16:54:142290semak imbas

Laravel ialah rangka kerja pembangunan PHP yang berkuasa yang membolehkan pembangun memudahkan proses pembangunan dan meningkatkan kecekapan. Laravel ialah rangka kerja berdasarkan corak MVC dan menyokong pelbagai sistem pangkalan data. Apabila menggunakan Laravel untuk pembangunan web, anda sering perlu mengkonfigurasi pangkalan data. Artikel ini akan memperkenalkan cara mengkonfigurasi pangkalan data dalam Laravel.

1 Buka fail konfigurasi persekitaran

Sambungan pangkalan data Laravel dikonfigurasikan dalam fail .env. Buka fail .env dan cari medan DB_CONNECTION nilai yang sepadan dengan mysql. Jika anda menggunakan sistem pangkalan data lain, seperti PostgreSQL atau SQLite, cuma tukar nilai ini kepada nama sistem pangkalan data yang sepadan.

2. Konfigurasikan nama pangkalan data dan bukti kelayakan log masuk

Secara lalai, Laravel menggunakan pangkalan data MySQL, jadi kami perlu mengkonfigurasi bukti kelayakan pangkalan data dan nama pangkalan data. Dalam fail .env, cari medan berikut:

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=my_username
DB_PASSWORD=my_password
  • DB_HOST: Alamat IP atau nama hos pelayan pangkalan data
  • DB_PORT: Nombor port pelayan pangkalan data
  • DB_DATABASE: Nama pangkalan data
  • DB_USERNAME: Nama pengguna untuk log masuk ke pangkalan data
  • DB_PASSWORD: Kata laluan untuk log masuk ke pangkalan data

Hanya ubah suai nilai medan di atas mengikut situasi sebenar projek.

3. Tukar pangkalan data lalai

Jika anda perlu menukar pangkalan data lalai, anda boleh mengubah suai fail config/database.php. Mula-mula cari nilai pasangan nilai kunci DB_CONNECTIONS, iaitu tatasusunan. Tatasusunan mengandungi semua pangkalan data yang disokong oleh Laravel, termasuk MySQL, SQLite, PostgreSQL, dll. Cari item konfigurasi yang sepadan dengan sistem pangkalan data yang anda ingin gunakan, dan ubah suainya kepada konfigurasi sebenar anda.

4. Gunakan berbilang pangkalan data

Dalam beberapa kes, kita perlu menggunakan berbilang pangkalan data, seperti pangkalan data induk dan pangkalan data hamba berbilang, atau pengguna yang berbeza perlu menyambung ke pangkalan data yang berbeza. Laravel menyokong pelbagai sambungan pangkalan data. Dalam fail config/database.php, kita boleh menentukan berbilang sambungan pangkalan data.

'connections' => [
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
    ],

    'mysql2' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST_2', 'localhost'),
        'port' => env('DB_PORT_2', '3306'),
        'database' => env('DB_DATABASE_2', 'forge'),
        'username' => env('DB_USERNAME_2', 'forge'),
        'password' => env('DB_PASSWORD_2', ''),
        'unix_socket' => env('DB_SOCKET_2', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
    ],
],

Contoh di atas mentakrifkan dua sambungan pangkalan data, satu ialah mysql dan satu lagi ialah mysql2. Kami boleh menggunakan kedua-dua sambungan ini dalam kod kami.

5. Gunakan fail konfigurasi untuk konfigurasi pangkalan data

Apabila menggunakan berbilang sistem pangkalan data, kami akan menentukan berbilang konfigurasi sambungan pangkalan data dalam fail .env pada masa yang sama. Untuk meningkatkan kebolehbacaan dan kemudahalihan kod, kita boleh menulis konfigurasi sambungan pangkalan data ke dalam fail konfigurasi khas.

Cari pasangan nilai kunci sambungan dalam fail config/database.php, dan kemudian tambah kod berikut dalam tatasusunan:

'mysql' => [
    'driver' => 'mysql',
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '3306'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'unix_socket' => env('DB_SOCKET', ''),
    'charset' => 'utf8mb4',
    'collation' => 'utf8mb4_unicode_ci',
    'prefix' => '',
    'prefix_indexes' => true,
    'strict' => true,
    'engine' => null,
],

Seterusnya, cipta fail database.php dalam direktori konfigurasi dengan kandungan Seperti berikut:

return [
    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
    ],
];

Akhir sekali, kami menggunakan fungsi konfigurasi dalam kod untuk mendapatkan konfigurasi pangkalan data. Kod berikut ialah contoh:

$dbConfig = config('database.mysql');

6. Ringkasan

Mengkonfigurasi sambungan pangkalan data dalam Laravel boleh dilakukan melalui fail konfigurasi persekitaran, fail konfigurasi pangkalan data, menyokong berbilang sambungan pangkalan data pada masa yang sama , dan menggunakan fail Konfigurasi khusus untuk meningkatkan kebolehbacaan kod. Di atas adalah pengenalan terperinci kepada konfigurasi pangkalan data Laravel saya harap ia akan membantu semua orang.

Atas ialah kandungan terperinci Bagaimana untuk melakukan konfigurasi pangkalan data dalam Laravel. 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