Laravelでデータベース設定を行う方法

PHPz
リリース: 2023-04-14 17:01:31
オリジナル
2254 人が閲覧しました

Laravel は、開発者が開発プロセスを簡素化し、効率を向上できる強力な PHP 開発フレームワークです。 Laravel は MVC パターンに基づいたフレームワークであり、さまざまなデータベース システムをサポートします。 Web 開発に Laravel を使用する場合、多くの場合、データベースを構成する必要があります。この記事ではLaravelでデータベースを構築する方法を紹介します。

1. 環境設定ファイルを開きます

Laravel のデータベース接続は .env ファイルで設定されています。 .env ファイルを開き、DB\_CONNECTION フィールドを見つけます。対応する値のデフォルトは mysql です。 PostgreSQL や SQLite などの別のデータベース システムを使用している場合は、この値を対応するデータベース システム名に変更するだけです。

2. データベース名とログイン認証情報の設定

デフォルトでは、Laravel は MySQL データベースを使用するため、データベース認証認証情報とデータベース名を設定する必要があります。 .env ファイルで、次のフィールドを見つけます。

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_database
DB_USERNAME=my_username
DB_PASSWORD=my_password
ログイン後にコピー
  • DB_HOST: データベース サーバーの IP アドレスまたはホスト名
  • DB_PORT: データベース サーバーのポート番号
  • DB_DATABASE : データベース名
  • DB_USERNAME: データベースにログインするためのユーザー名
  • DB_PASSWORD: データベースにログインするためのパスワード

プロジェクトの実際の状況に応じて、上記のフィールドの値を調整します。

3. デフォルトのデータベースを変更する

デフォルトのデータベースを変更する必要がある場合は、config/database.php ファイルを変更できます。まず、配列である DB_CONNECTIONS キーと値のペアの値を見つけます。配列には、MySQL、SQLite、PostgreSQL など、Laravel でサポートされているすべてのデータベースが含まれています。使用するデータベース システムに対応する構成項目を見つけて、実際の構成に変更します。

4. 複数のデータベースを使用する

場合によっては、マスター データベースと複数のスレーブ データベースなど、複数のデータベースを使用する必要がある場合や、異なるユーザーが異なるデータベースに接続する必要がある場合があります。 Laravel は複数のデータベース接続をサポートしています。 config/database.php ファイルでは、複数のデータベース接続を定義できます。

'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,
    ],
],
ログイン後にコピー

上の例では、2 つのデータベース接続 (1 つは mysql、もう 1 つは mysql2) を定義しています。これら 2 つの接続をコードで使用できます。

5. データベース構成に構成ファイルを使用する

複数のデータベース システムを使用する場合、.env ファイルで複数のデータベース接続構成を同時に定義します。コードの読みやすさと移植性を向上させるために、データベース接続構成を特別な構成ファイルに書き込むことができます。

config/database.php ファイルで接続のキーと値のペアを見つけて、次のコードを配列に追加します。

'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,
],
ログイン後にコピー

次に、config に database.php ファイルを作成します。

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,
    ],
];
ログイン後にコピー

最後に、コード内で config 関数を使用してデータベース構成を取得します。次のコードは例です:

$dbConfig = config('database.mysql');
ログイン後にコピー

6. 概要

Laravel でのデータベース接続の設定は、環境設定ファイル、データベース設定ファイル、同時に複数のデータベース接続をサポートすることによって行うことができます。特別な構成ファイルを使用して、コードの可読性を向上させます。以上、Laravelのデータベース構成について詳しく紹介しましたが、皆様のお役に立てれば幸いです。

以上がLaravelでデータベース設定を行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート