>  기사  >  PHP 프레임워크  >  Laravel의 DB는 어디에 있습니까?

Laravel의 DB는 어디에 있습니까?

王林
王林원래의
2023-05-26 12:54:39563검색

라라벨에서 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임을 나타냅니다. 연결 아래의 하위 배열은 sqlite, mysql, pgsql의 네 가지 데이터베이스 링크 방법을 정의합니다. , sqlsrv. Laravel에서는 필요에 따라 더 많은 데이터베이스 링크 방법을 추가할 수 있습니다.

Laravel 프레임워크의 DB 인터페이스

Laravel 프레임워크는 많은 DB 인터페이스를 제공하며, 그 중 가장 중요한 것은 IlluminateDatabaseEloquentModel입니다. 이는 데이터베이스를 쿼리하고 작동하는 기본 메소드(예: all(), create( ), update(), where(), orderBy() 등

데이터베이스 작업을 위해 Laravel을 사용할 때 먼저 DB 인터페이스를 소개해야 합니다. 일반적인 작성 방법은 다음과 같습니다:

use IlluminateDatabaseEloquentModel;

그런 다음 데이터베이스를 작업할 수 있습니다. 예:

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

위 코드는 ID가 1인 사용자의 이름을 업데이트합니다.

Laravel 프레임워크의 DB 구현

Laravel 프레임워크에서 DB 구현은 PDO(PHP 데이터 개체)를 기반으로 합니다. PDO는 다양한 데이터베이스 간의 차이점을 캡슐화하는 데 사용되는 PHP의 경량 데이터베이스 추상화 계층입니다. PDO는 서로 다른 데이터베이스 간의 구문 차이를 추상화하여 동일한 코드를 사용하여 서로 다른 데이터베이스에서 작동할 수 있도록 합니다.

Laravel 프레임워크에서 DB를 사용할 때 실제로 데이터베이스는 PDO를 통해 운영됩니다. 여기서 주목해야 할 점은 Laravel 프레임워크에서 사용되는 PDO는 PHP와 함께 제공되는 PDO가 아니라 Laravel 자체에서 구현된 PDO 확장이라는 것입니다. 이는 기본 PDO를 일부 확장하고 캡슐화하여 사용하기 쉬운 기능을 제공합니다. 그리고 더 유연한 API.

위 내용은 데이터베이스 구성, DB 인터페이스, DB 구현 등 Laravel 프레임워크의 DB 관련 내용입니다. Laravel로 개발할 때 필요에 따라 DB를 유연하게 구성하고 사용할 수 있어 다양하고 복잡한 데이터베이스 작업을 완료할 수 있습니다.

위 내용은 Laravel의 DB는 어디에 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.