DOCUMENTATION / BACKEND
Database & migrations.
PDO, prepared statements dan migrasi sederhana.
Query dengan parameter
Database membuat koneksi ketika query pertama dijalankan. Jangan gabungkan input pengguna ke string SQL.
PHP
$db = new DL\Database();
$user = $db->run('SELECT id, email FROM users WHERE email = ?', [$email])->fetch();Transaksi
Exception pada callback memicu rollback. Transaksi tidak bersarang.
PHP
$db->transaction(function (DL\Database $db) use ($email, $name) {
$db->run('INSERT INTO users (email, name) VALUES (?, ?)', [$email, $name]);
});Migrasi PHP
Buat file database/migrations dengan nama berurutan. Contoh berikut menggunakan SQL umum; uji driver hosting Anda.
database/migrations/002_notes.php
<?php
return static function (DL\Database $db): void {
$db->run('CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, title VARCHAR(190) NOT NULL)');
};Menjalankan migrasi
Migrasi yang berhasil dicatat di dl_migrations. Tidak ada rollback otomatis atau transaksi universal untuk DDL; buat migrasi retry-safe dan backup sebelum production.
Terminal
php dl migrate