Sobes.tech
Junior — Middle

Опишете опита си с използването на транзакционни механизми в проекти.

sobes.tech AI

Отговор от AI

В PHP проектите използвах транзакции предимно при работа с бази данни, за да гарантирам цялостността на данните. Например, при изпълнение на няколко свързани операции (като добавяне на поръчка и актуализиране на наличностите), ги обединявах в транзакция, за да върна всички промени в случай на грешка.

Пример с 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 "Грешка: " . $e->getMessage();
}

Този подход помага да се избегнат частични актуализации на данните и запазва консистентността на базата данни.