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();
}
Այս մոտեցումը օգնում է խուսափել մասնակի տվյալների թարմացումներից և պահպանում է տվյալների բազայի համահունչությունը։