اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

Request cycle life عبارة عن عملية تتبعها إطار العمل Laravel عندما يتلقى طلبًا HTTP من المتصفح إلى حين تجاوز الرد على هذا الطلب، تتكون تلك الدورة من عدة مراحل وهي:

تلقي الطلب: تبدأ دورة حياة الطلب في Laravel بتلقي الطلب HTTP من المتصفح عن طريق خادم الويب (مثل Apache أو Nginx). يتم تحويل الطلب إلى إطار العمل Laravel باستخدام نواة PHP وملف index.php الذي يعمل كنقطة دخول للتطبيق.

التوجيه: بعد تلقي الطلب، يتم تحديد العملية أو الوظيفة التي يجب تشغيلها للرد على الطلب. يتم ذلك باستخدام المسار المحدد في عنوان URL المرسل من المتصفح. يتم تحديد الوظيفة باستخدام ملف التوجيه routes/web.php في Laravel.

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

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

الاستجابة: بعد تنفيذ العملية بنجاح، يتم إرسال الاستجابة إلى المتصفح. يتم إنشاء الاستجابة باستخدام النموذج الخاص بـ Laravel للعرض والإخراج. يتم عادةً إنشاء الاستجابة في شكل صفحة HTML تتم عرضها على المتصفح. يتم إرسال الاستجابة إلى المتصفح باستخدام بروتوكول HTTP. وتتضمن الاستجابة عادةً رمز حالة HTTP لتحديد ما إذا كان الطلب قد تم معالجته بنجاح أم لا، ورسالة نصية توضح نتيجة الطلب.

النهاية: بعد إرسال الاستجابة إلى المتصفح، تنتهي دورة حياة الطلب في Laravel وتتوقف العملية. يتم إغلاق جميع الاتصالات النشطة مع قاعدة البيانات وملفات النظام وغيرها، وتتم إعادة تعيين المتغيرات والكائنات المحددة في ذاكرة الوصول العشوائي (RAM) إلى القيم الافتراضية.

يجب ملاحظة أن دورة حياة الطلب في Laravel يمكن تعديلها وتخصيصها باستخدام العديد من الأدوات والوظائف المتاحة في Laravel، ويمكن أيضًا إنشاء مراحل إضافية وفقًا لاحتياجات التطبيق المحدد.

 مثال بسيط يوضح دورة حياة الطلب في Laravel:

// مثال بسيط عن دورة حياة الطلب في Laravel

// 1. استقبال الطلب
Route::get('/users', function () {
    // 2. الكود المعالج للطلب
    $users = DB::table('users')->get();
    
    // 3. إرسال الاستجابة
    return view('users', ['users' => $users]);
});

// 4. الإنشاء: تحديد المسار والعرض المستخدم للإدخال
// 5. المعالجة: تنفيذ العملية وإنشاء الاستجابة
// 6. النهاية: توقف العملية وإغلاق جميع الاتصالات النشطة

في المثال، يتم استقبال طلب GET على /users، ومعالجته عن طريق الحصول على جميع المستخدمين من قاعدة البيانات وإرسالهم إلى عرض users. ثم إنشاء الاستجابة وإرسالها إلى المتصفح، وتنتهي العملية ويتم إغلاق جميع الاتصالات النشطة.

  • 0
نشر

لا تيأس إن لم تفهم كل المصطلحات على الفور! حاول فقط تكوين فكرة عامة عما يحدث وبالإضافة للشرح في التعليق السابق يجب عليك معرفة المصطلحات التالية لأنها شائعة في إطار العمل laravel

  • عندما يتم تقديم طلب إلى Laravel ، فسوف يقوم أولاً باستدعاء public / index.php file. نقطة البداية لكل طلب. يحتوي ملف Index.php فقط على بضعة أسطر من التعليمات البرمجية التي ستقوم بتنفيذ إجراءات التهيئة.
  • بعد ذلك ، سيتم تمهيد إطار عمل Laravel لاستخدام وإنشاء مثيل التطبيق.
  • بمجرد إنشاء instance من التطبيق ، ستتم معالجة الطلب الوارد بواسطة kernel. هناك نوعان من النواة في Laravel HTTP kernel & Console kernel. لذلك يمكن معالجة الطلب الوارد إما عن طريق HTTP kernel أو Console kernel اعتمادًا على نوع الطلب. هذان النوعان من النواة هما النقطة المركزية لكل طلب.
  • kernel HTTP ، والتي يتم وضعها في app / Http / Kernel.php. إنه يتلقى طلبًا ويعيد الرد. Bootstrappers التي تم تحديدها بواسطة فئة Kernel ، والتي تقوم بتكوين معالجة الأخطاء وتكوين التسجيل واكتشاف البيئات والمهام الأخرى التي يجب القيام بها قبل معالجة الطلب.
  • سيحدد HTTP Kernel قائمة البرامج الوسيطة التي تم تمريرها قبل معالجتها بواسطة التطبيق.
  • الخطوة التالية للنواة هي تحميل موفري الخدمة كجزء من إجراء التمهيد. يتم وضع الموفرين المطلوبين للتطبيق في ملف التكوين config / app.php. بينما تستدعي طريقة التسجيل ، سيتم تسجيل جميع مقدمي الخدمة. بمجرد تسجيل جميع الموفرين ، سيتم استدعاء طريقة التمهيد.
  • بمجرد بدء تشغيل التطبيق وتسجيل جميع مزودي الخدمة وتمهيدهم ، سيتم تسليم الطلب إلى جهاز التوجيه للإرسال. سيرسل جهاز التوجيه الطلب إلى  route أو controller ، بالإضافة إلى تشغيل أي برمجية وسيطة middleware خاصة بالمسار.
  • سيقوم جهاز التوجيه بتوجيه طلب HTTP إلى controller أو إعادة عرض أو استجابات مباشرة عن طريق حذف وحدة التحكم. سيتم وضع هذه المسارات في app / route.php.
  • وحدة التحكم app/controllers/ينفذ إجراءات محددة ويرسل البيانات إلى طريقة عرض.
  • عرض app/views/ تنسيقات البيانات بشكل مناسب ، مما يوفر استجابة HTTP.

هذه الخطوات يمكنك القراءة بتفصيل عنها في موسوعة حسوب 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...