cycle/database

DBAL、模式自省、迁移和分页

资助包维护!
cycle

2.11.0 2024-06-11 11:30 UTC

README

Latest Stable Version Build Status Scrutinizer Code Quality Codecov

安全、支持多种SQL方言(MySQL、PostgreSQL、SQLite、SQLServer)、模式自省、模式声明、智能标识符包装器、数据库分区、查询构建器、嵌套查询。

文档

需求

请确保您的服务器配置了以下PHP版本和扩展

  • PHP 8.0+
  • 包含所需数据库驱动程序的PDO扩展

安装

要安装组件

composer require cycle/database

示例

以下示例演示了与SQLite数据库的连接、创建表模式、数据插入和选择

<?php
declare(strict_types=1);

require_once "vendor/autoload.php";

use Cycle\Database\Config;
use Cycle\Database\DatabaseManager;

$dbm = new DatabaseManager(new Config\DatabaseConfig([
    'databases'   => [
        'default' => ['connection' => 'sqlite'],
    ],
    'connections' => [
        'sqlite' => new Config\SQLiteDriverConfig(
            connection: new Config\SQLite\FileConnectionConfig(
                database: 'runtime/database.db'
            ),
        ),
    ],
]));

$users = $dbm->database('default')->table('users');

// create or update table schema
$schema = $users->getSchema();
$schema->primary('id');
$schema->string('name');
$schema->datetime('created_at');
$schema->datetime('updated_at');
$schema->save();

// insert data
$users->insertOne([
    'name'       => 'test',
    'created_at' => new DateTimeImmutable(),
    'updated_at' => new DateTimeImmutable(),  
]);

// select data
foreach ($users->select()->where(['name' => 'test']) as $u) {
    print_r($u);
}

许可证

MIT许可证(MIT)。有关更多信息,请参阅LICENSE。由Spiral Scout维护。