Maison >cadre php >Laravel >Où est la base de données de Laravel ?

Où est la base de données de Laravel ?

王林
王林original
2023-05-26 12:54:39577parcourir

Dans Laravel, DB fait référence à une base de données, qui est généralement stockée dans des bases de données relationnelles telles que MySQL, PostgreSQL et SQLite. Alors, où est la base de données dans le framework Laravel ?

Configuration de la base de données dans le framework Laravel

Dans Laravel, le fichier de configuration de la base de données se trouve dans /config/database.php, et sa configuration par défaut est la suivante :

'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,
],

],

Dans la configuration par défaut, default indique que le type de lien de base de données par défaut est mysql. Le sous-tableau sous connexions définit quatre méthodes de liaison de base de données : sqlite, mysql, pgsql. , sqlsrv. Dans Laravel, nous pouvons ajouter plus de méthodes de liaison de base de données en fonction de nos besoins.

Interface DB dans le framework Laravel

Le framework Laravel nous fournit de nombreuses interfaces DB, dont la plus importante est IlluminateDatabaseEloquentModel, qui nous fournit des méthodes de base pour interroger et faire fonctionner la base de données, telles que : all(), create( ), update(), où(), orderBy(), etc.

Lorsque nous utilisons Laravel pour les opérations de base de données, nous devons d'abord introduire l'interface DB. La méthode d'écriture habituelle est :

utilisez IlluminateDatabaseEloquentModel ;

Ensuite, nous pouvons utiliser la base de données, par exemple :

$user = User::find. ( 1);
$user->name = 'new name';
$user->save();

Le code ci-dessus met à jour le nom de l'utilisateur avec l'ID 1.

Implémentation de base de données dans le framework Laravel

Dans le framework Laravel, l'implémentation de DB est basée sur PDO (PHP Data Objects) est une couche d'abstraction de base de données légère en PHP qui est utilisée pour encapsuler les différences entre les différentes bases de données. PDO élimine les différences de syntaxe entre les différentes bases de données, nous permettant d'utiliser le même code pour fonctionner sur différentes bases de données.

Lors de l'utilisation de DB dans le framework Laravel, la base de données est en fait exploitée via PDO. Ce qu'il convient de noter ici, c'est que le PDO utilisé dans le framework Laravel n'est pas le PDO fourni avec PHP, mais l'extension PDO implémentée par Laravel lui-même. Elle effectue une certaine expansion et encapsulation du PDO natif, offrant ainsi une utilisation plus facile. et une API plus flexible.

Ce qui précède est le contenu pertinent de DB dans le framework Laravel, y compris la configuration de la base de données, l'interface DB et l'implémentation de la base de données, etc. Lors du développement avec Laravel, nous pouvons configurer et utiliser la base de données de manière flexible en fonction de nos besoins pour effectuer diverses opérations de base de données complexes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn