ホームページ >PHPフレームワーク >Laravel >laravelのデータベースはどこにありますか?

laravelのデータベースはどこにありますか?

王林
王林オリジナル
2023-05-26 12:54:39571ブラウズ

Laravel では、DB はデータベースを指し、通常、MySQL、PostgreSQL、SQLite などのリレーショナル データベースに格納されます。では、Laravel フレームワークの DB はどこにあるのでしょうか?

Laravel フレームワークでのデータベース構成

Laravel では、データベース構成ファイルは /config/database.php にあり、そのデフォルト構成は次のとおりです:

'default ' => ; env('DB_CONNECTION', 'mysql'),

'connections' => [

'sqlite' => [
    'driver' => 'sqlite',
    'url' => env('DATABASE_URL'),
    'database' => env('DB_DATABASE', database_path('database.sqlite')),
    'prefix' => '',
    'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
],

'mysql' => [
    'driver' => 'mysql',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', '127.0.0.1'),
    '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,
    'options' => extension_loaded('pdo_mysql') ? array_filter([
        PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
    ]) : [],
],

'pgsql' => [
    'driver' => 'pgsql',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', '5432'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'prefix_indexes' => true,
    'schema' => 'public',
    'sslmode' => 'prefer',
],

'sqlsrv' => [
    'driver' => 'sqlsrv',
    'url' => env('DATABASE_URL'),
    'host' => env('DB_HOST', 'localhost'),
    'port' => env('DB_PORT', '1433'),
    'database' => env('DB_DATABASE', 'forge'),
    'username' => env('DB_USERNAME', 'forge'),
    'password' => env('DB_PASSWORD', ''),
    'charset' => 'utf8',
    'prefix' => '',
    'prefix_indexes' => true,
],

],

デフォルト設定では、default はデフォルトのデータベース 接続タイプは mysql で、connections の下のサブ配列は 4 つのデータベース接続メソッド (sqlite、mysql、pgsql、および sqlsrv) を定義します。 Laravelでは、ニーズに応じてデータベースリンクメソッドをさらに追加できます。

Laravel フレームワークの DB インターフェイス

Laravel フレームワークは多くの DB インターフェイスを提供します。その中で最も重要なものは IlluminateDatabaseEloquentModel です。これにより、データベースと Basic にクエリを実行する機能が提供されます。 all()、create()、update()、where()、orderBy() などの操作メソッド。

Laravel をデータベース操作に使用する場合、まず DB インターフェイスを導入する必要があります。通常の記述方法は次のとおりです:

use IlluminateDatabaseEloquentModel;

これでデータベースを操作できます。例:

$user = User::find(1);
$user->name = '新しい名前';
$user->save();

上記のコードは、ID 1 のユーザーの名前を更新します。

Laravel フレームワークでの DB 実装

Laravel フレームワークでは、DB の実装は PDO (PHP データ オブジェクト) に基づいています。PDO は、PHP の軽量のデータベース抽象化レイヤーであり、次の目的で使用されます。データベース間のさまざまな差異をカプセル化します。 PDO は、異なるデータベース間の構文の違いを抽象化し、同じコードを使用して異なるデータベースを操作できるようにします。

Laravel フレームワークで DB を使用する場合、実際には PDO を通じてデータベースが操作されます。ここで注意すべき点は、Laravel フレームワークで使用される PDO は、PHP に付属の PDO ではなく、Laravel 自体によって実装された PDO 拡張機能であり、ネイティブ PDO の拡張とカプセル化を行い、使いやすい PDO を提供します。より柔軟な API。

上記は、データベース構成、DB インターフェース、DB 実装など、Laravel フレームワークにおける DB に関連する内容です。 Laravelを使用した開発では、ニーズに合わせて柔軟にDBを構成・利用することができ、さまざまな複雑なデータベース操作を実現できます。

以上がlaravelのデータベースはどこにありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。