Veritabanı ve Query Builder
DizgePHP, ORM yerine PDO tabanlı bir query builder kullanır. Varsayılan veritabanı SQLite'tır; DIZGE_DB_DSN ile MySQL veya PostgreSQL'e geçilebilir.
Temel sorgulama
$tasks = db()->table('tasks')
->where('done', 0)
->orderBy('id', 'DESC')
->limit(20)
->get();
Kayıt ekleme
$id = db()->table('tasks')->insert([
'title' => 'Yeni görev',
'done' => 0,
'created_at' => date('c'),
]);
Kayıt güncelleme
db()->table('tasks')
->where('id', $id)
->update(['done' => 1]);
update()vedelete()birwhere()koşulu gerektirir. Koşulsuz çağrılar hata verir.
Kayıt silme
db()->table('tasks')
->where('id', $id)
->delete();
Migration
bin/dizge make:migration create_tasks_table
# database/migrations/202607231236_create_tasks_table.php oluşturulur
Migration dosyası up(Database $database) ve down(Database $database) metodlarını içerir:
public function up(Database $database): void
{
$database->pdo()->exec('CREATE TABLE tasks (
id INTEGER PRIMARY KEY AUTOINCREMENT,
title TEXT NOT NULL,
done INTEGER NOT NULL DEFAULT 0,
created_at TEXT NOT NULL
)');
}
bin/dizge migrate up # tüm bekleyen migration'ları uygular
bin/dizge migrate down # son migration'ı geri alır