In Laravel bezieht sich DB auf eine Datenbank, die im Allgemeinen in relationalen Datenbanken wie MySQL, PostgreSQL und SQLite gespeichert ist. Wo ist also die Datenbank im Laravel-Framework?
Datenbankkonfiguration im Laravel-Framework
In Laravel befindet sich die Datenbankkonfigurationsdatei unter /config/database.php und ihre Standardkonfiguration ist wie folgt:
'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, ],
],
In der Standardkonfiguration gibt Standard an, dass der Standard-Datenbankverbindungstyp MySQL ist. Das Unterarray unter Verbindungen definiert vier Datenbankverbindungsmethoden: SQLite, MySQL, PGSQL , sqlsrv. In Laravel können wir je nach Bedarf weitere Datenbankverknüpfungsmethoden hinzufügen.
DB-Schnittstelle im Laravel-Framework
Das Laravel-Framework stellt uns viele DB-Schnittstellen zur Verfügung, von denen die wichtigste IlluminateDatabaseEloquentModel ist, die uns grundlegende Methoden zum Abfragen und Betreiben der Datenbank bereitstellt, wie zum Beispiel: all (), create( ), update(), where(), orderBy() usw.
Wenn wir Laravel für Datenbankoperationen verwenden, müssen wir zuerst die DB-Schnittstelle einführen. Die übliche Schreibmethode ist:
use IlluminateDatabaseEloquentModel;
Dann können wir die Datenbank betreiben, zum Beispiel:
$user = User::find ( 1);
$user->name = 'new name';
$user->save();
Der obige Code aktualisiert den Namen des Benutzers mit der ID 1.
DB-Implementierung im Laravel-Framework
Im Laravel-Framework basiert die Implementierung von DB auf PDO (PHP Data Objects ist eine leichtgewichtige Datenbankabstraktionsschicht in PHP, die zur Kapselung der Unterschiede zwischen verschiedenen Datenbanken verwendet wird). PDO abstrahiert die Syntaxunterschiede zwischen verschiedenen Datenbanken und ermöglicht es uns, denselben Code für den Betrieb verschiedener Datenbanken zu verwenden.
Bei Verwendung von DB im Laravel-Framework wird die Datenbank tatsächlich über PDO betrieben. Hierbei ist zu beachten, dass das im Laravel-Framework verwendete PDO nicht das mit PHP gelieferte PDO ist, sondern die von Laravel selbst implementierte PDO-Erweiterung. Es führt eine gewisse Erweiterung und Kapselung des nativen PDO durch und bietet so eine einfachere Verwendung und flexiblere API.
Das Obige ist der verwandte Inhalt von DB im Laravel-Framework, einschließlich Datenbankkonfiguration, DB-Schnittstelle und DB-Implementierung usw. Bei der Entwicklung mit Laravel können wir DB entsprechend unseren Anforderungen flexibel konfigurieren und verwenden, um verschiedene komplexe Datenbankoperationen durchzuführen.
Das obige ist der detaillierte Inhalt vonWo ist die Datenbank von Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!