cycle/database
Cycle DBAL is a secure database abstraction layer for PHP with support for MySQL, PostgreSQL, SQLite, and SQL Server. It offers schema introspection and declaration, query builders, nested queries, transactions, migrations, and database partitions.
Secure, multiple SQL dialects (MySQL, PostgreSQL, SQLite, SQLServer), schema introspection, schema declaration, smart identifier wrappers, database partitions, query builders, nested queries.
Make sure that your server is configured with following PHP version and extensions:
To install the component:
composer require cycle/database
Given example demonstrates the connection to SQLite database, creation of table schema, data insertion and selection:
<?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 License (MIT). Please see LICENSE for more information. Maintained
by Spiral Scout.
How can I help you explore Laravel packages today?