الإنتقال للتصميم الجديد
45% خصم بمناسبة اليوم الوطني السعودي 🇸🇦94 على جميع الدورات والمسارات,
استخدم كوبون: SA94

تجنب او إلغاء تنفيذ عملية برمجية في حال عدم اكتمال المتطلبات!

من مجتمع دورة برمجة الويب باستخدام لارافيل Laravel

في حال كان هناك اكثر من متطلب يجب تنفيذ من المستخدم لكي تتم العملية أو حصل امر ما في السيرفر،

 فهناك طرق مفيده يجب استخدامها منها try & catch

مثال : نموذج تسجيل مستخدم لدفع قيمة اشتراك،  هنا في حال تعثر الدفع فإن المستخدم لا يحفظ في قاعدة البيانات ويتم التراجع وارجاع رسالة خطأ يتم تخصيصها.

public function subscribe(array $data)
{
    DB::beginTransaction();
    try {
        $requestData = request()->all();
        $requestData['password'] = Hash::make($data['password']);
        $user = User::create($requestData);
        
        $paymentMethod = $requestData['payment_method'] ?? NULL;
        $user->newSubscription('default', 'plan_xxx')->create($paymentMethod);
            
        DB::commit();
    } catch (\Exception $ex) {
        DB::rollBack();
        throw $ex;
    }
}

 

نستخدم try & catch

مهم استخدام DB beginTransaction  في بداية الكود قبل try

وفي نهاية الكود داخل بلوك try نستخدم DB commit 

اما في حال حصل خطأ نستخدم DB rollback وهذا السطر يلغي العملية السابقة بالكامل بسبب عدم اكتمال المتطلبات .

الردود
تظهر النقاشات للطلاب المشتركين فقط