Sobes.tech
Junior — Middle

Aprašykite savo patirtį naudojant transakcinius mechanizmus projektuose.

sobes.tech AI

Atsakymas iš AI

PHP projektuose aš dažniausiai naudoju transakcijas dirbdamas su duomenų bazėmis, kad užtikrinčiau duomenų vientisumą. Pavyzdžiui, kai vykdau kelias susijusias operacijas (pavyzdžiui, užsakymo įvedimą ir atsargų atnaujinimą), jas apgaubiu transakcija, kad klaidos atveju galėčiau atšaukti visas pakeitimus.

Pavyzdys naudojant PDO:

try {
    $pdo->beginTransaction();

    $pdo->exec("INSERT INTO orders (user_id, total) VALUES (1, 100)");
    $pdo->exec("UPDATE products SET stock = stock - 1 WHERE id = 10");

    $pdo->commit();
} catch (Exception $e) {
    $pdo->rollBack();
    echo "Klaida: " . $e->getMessage();
}

Šis požiūris padeda išvengti dalinių duomenų atnaujinimų ir išlaikyti duomenų bazės nuoseklumą.