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();
}
Този подход помага да се избегнат частични актуализации на данните и запазва консистентността на базата данни.