انتقل إلى محتوى الدرس
الدرس 06
دورة إطار العمل Laravel

التوجيه الأساسي في Laravel وطرق طلبات HTTPLaravel Basic Routing and HTTP Verbs

تعريف مسارات الويب الأساسية في ملف routes/web.php لمختلف طرق HTTP ومسارات التحويل والعرض المباشر وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
أقسام الدرس
6
الأمثلة
6
اللغة
العربية
تاريخ النشر
غير محدد
المشاهدات
0
محتوى الدرس
في هذا الدرس 6تصفّح المواضيع

تُسجل جميع روابط المتصفح في تطبيق Laravel 12 داخل ملف routes/web.php باستخدام الواجهة الساكنة Route. وفي أبسط صورها، تستقبل دالة تعريف المسار عنوان الرابط النصي متبوعاً بدالة معالجة مغلقة تعمل فور زيارة المستخدم لذلك العنوان.

  • ملف مسارات الويب (routes/web.php): يطبق تلقائياً مجموعة وسطاء الويب المسؤولة عن الجلسات وحماية CSRF.
  • دالة القراءة (Route::get Method): تربط طلب التصفح من نوع GET بالعنوان والدالة المقابلة له.
  • دالة المعالجة المغلقة (Closure Handler): دالة سريعة مناسبة للمسارات البسيطة والتجارب الأولية.
مخطط معماري يوضح التوجيه الأساسي في Laravel وطرق طلبات HTTP في إطار العمل Laravel 12
PHP
<?php
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return 'Welcome to CloseTag Store';
});

Route::get('/status', fn () => 'System Operational');

توفر واجهة Route دوال مخصصة لكل طريقة قياسية من طرق بروتوكول HTTP لضمان بناء روابط تتبع المعايير الهندسية السليمة. تُستخدم get لقراءة البيانات، وpost لإنشاء سجل جديد، وput أو patch لتحديث سجل قائم، وdelete لحذف الموارد.

  • القراءة والإرسال (GET & POST): تُخصص GET للجلب الآمن للبيانات، بينما ترسل POST بيانات جديدة للخادم.
  • التحديث الكلي والجزئي (PUT & PATCH): تحدث PUT السجل بالكامل بينما تعدل PATCH حقولاً محددة.
  • طريقة الحذف (DELETE Verb): تحذف المورد المستهدف وتتطلب رمز حماية CSRF في مسارات الويب.
PHP
<?php
use Illuminate\Support\Facades\Route;

Route::post('/items', fn () => 'Item Created');
Route::put('/items/1', fn () => 'Item Replaced');
Route::patch('/items/1', fn () => 'Item Updated');
Route::delete('/items/1', fn () => 'Item Deleted');

عندما تعيد دالة المسار نصاً عادياً، يقوم Laravel بتغليفه تلقائياً في استجابة HTTP قياسية بحالة 200 ونوع محتوى HTML. والأروع من ذلك أنه عند إرجاع مصفوفة PHP مباشرة من المسار، يحولها الإطار تلقائياً إلى استجابة JSON منسقة مع ضبط رأس نوع المحتوى المناسب.

  • إرجاع النصوص (String Return): يُرسل النص للمتصفح كاستجابة ناجحة بحالة 200.
  • إرجاع المصفوفات (Array Return): تتحول المصفوفة تلقائياً إلى JSON مع ضبط رأس الرسالة القياسي.
  • اختصار الكود (Zero Boilerplate): يغنيك عن استدعاء دوال التحويل وضبط رؤوس الرسالة يدوياً.
PHP
<?php
use Illuminate\Support\Facades\Route;

Route::get('/api-health', function () {
    return ['service' => 'CloseTag API', 'ok' => true];
});

قد يحتاج رابط واحد أحياناً إلى الاستجابة لأكثر من طريقة طلب مثل استقبال كل من GET وPOST على نفس المسار. يوفر Laravel دالة Route::match لتحديد مصفوفة بطرق الطلب المسموحة بدقة، ودالة Route::any لاستقبال كافة طرق HTTP على ذلك العنوان.

  • تحديد طرق بعينها (Route::match): تستقبل مصفوفة بالطرق المسموحة فقط كمعامل أول قبل الرابط.
  • استقبال كافة الطرق (Route::any): تستجيب لجميع طرق HTTP على نفس عنوان الرابط.
  • أفضل ممارسة أمنية (Security Best Practice): يُفضل دائماً استخدام الطرق المحددة أو match بدلاً من any في الإنتاج.
PHP
<?php
use Illuminate\Support\Facades\Route;

Route::match(['get', 'post'], '/search', function () {
    return ['result' => 'Matched GET or POST'];
});

Route::any('/webhook-ping', fn () => 'Ping Received');

عند تغيير هيكل الروابط أو نقل صفحة قديمة إلى عنوان جديد، تتيح لك دالتا Route::redirect وRoute::permanentRedirect تحويل الزوار مباشرة دون كتابة دالة مغلقة. ولفحص جدول كافة المسارات المسجلة وطرقها في مشروعك من الطرفية، يمكنك تشغيل الأمر php artisan route:list.

  • التحويل المؤقت (Route::redirect): يرسل تحويل HTTP 302 افتراضياً مع إمكانية تمرير رمز حالة مخصص.
  • التحويل الدائم (Route::permanentRedirect): يرسل تحويل HTTP 301 الدائم للحفاظ على أرشفة محركات البحث.
  • جدول المسارات (php artisan route:list): يعرض في الطرفية قائمة منسقة بجميع روابط المشروع وطرقها.
PHP
<?php
use Illuminate\Support\Facades\Route;

// 302 temporary redirect and 301 permanent redirect
Route::redirect('/old-home', '/');
Route::permanentRedirect('/legacy-docs', '/docs');

// CLI: php artisan route:list --except-vendor

يضمن اختيار دالة التوجيه المناسبة التزام تطبيقك بمعايير بروتوكول HTTP، وحماية العمليات التي تغير البيانات، والحفاظ على ترتيب الموقع في محركات البحث عند تحديث الروابط. راجع الجدول المقارن التالي لإتقان جميع دوال التوجيه الأساسية.

وجه المقارنة الهندسيالأسلوب اليدوي أو التقليديمعيار Laravel 12 الحديث
تعريف عناوين الروابطإنشاء ملف PHP منفصل على القرص لكل صفحة في الموقعتعريف مركزي أنيق عبر Route::get وRoute::post داخل routes/web.php
فحص طريقة الطلبكتابة شروط يدوية لفحص قيمة REQUEST_METHOD في كل ملفدوال صريحة مخصصة لكل طريقة مثل get وpost وput وdelete وmatch
إرجاع بيانات JSONضبط رأس الرسالة يدوياً واستدعاء دالة json_encode في كل مرةإرجاع مصفوفة PHP مباشرة ليحولها الإطار تلقائياً لاستجابة JSON
تحويل الروابط القديمةاستدعاء دالة header متبوعة بـ exit يدوياً داخل الصفحاتتحويل قياسي بسطر واحد عبر Route::permanentRedirect
PHP
<?php
use Illuminate\Support\Facades\Route;

Route::get('/catalog', fn () => ['items' => 12]);
Route::post('/catalog', fn () => ['created' => true]);
Route::permanentRedirect('/shop', '/catalog');
خلاصة المعرفة ومحطة الانتقال

ملخص الدرس

حصاد الدرس

مراجعة مركّزة لأهم المفاهيم والقواعد الهندسية التي أتقنتها في هذا الدرس قبل التطبيق العملي

ماذا تعلّمت في هذا الدرس؟

أتقنت في هذا الدرس حول «التوجيه الأساسي في Laravel وطرق طلبات HTTP» مفاهيم تعريف المسارات بملف routes/web.php، ومسارات طرق HTTP الأساسية بالويب، وإرجاع النصوص ومصفوفات JSON مباشرة وفق معايير Laravel 12 الحديثة.

الخطوة التالية والدرس القادم

انتقل الآن إلى الدرس التالي «معاملات المسارات في Laravel وقيود التعابير النمطية» للبناء التراكمي على ما تعلمته.

مشاركة

هل كان هذا الدرس مفيدًا؟

جارٍ تحميل الآراء…

ابنِ لغتك البرمجية

المصطلحات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 Basic Routing التوجيه الأساسي
تعريف مسارات الويب الأساسية في ملف routes/web.php لمختلف طرق HTTP ومسارات التحويل والعرض المباشر وفق أحدث معايير إطار العمل Laravel 12 مع أمثلة وتطبيقات عملية متدرجة.
للمراجعة
02 Defining Routes in web.php تعريف المسارات بملف routes/web.php
المفهوم الهندسي والتطبيق العملي المباشر لقسم تعريف المسارات بملف routes/web.php في إطار العمل Laravel 12.
للمراجعة
03 Routing HTTP Request Verbs مسارات طرق HTTP الأساسية بالويب
المفهوم الهندسي والتطبيق العملي المباشر لقسم مسارات طرق HTTP الأساسية بالويب في إطار العمل Laravel 12.
للمراجعة
04 Returning Strings and JSON Arrays إرجاع النصوص ومصفوفات JSON مباشرة
المفهوم الهندسي والتطبيق العملي المباشر لقسم إرجاع النصوص ومصفوفات JSON مباشرة في إطار العمل Laravel 12.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

حروف قليلة. معنى كامل.

الاختصارات4

راجع المعنى، اشرحه لنفسك، ثم علّم البطاقة كمفهومة.

0 / 4 مفهومةأول بطاقة، أول خطوة
01 MVC MVC
Model View Controller
النمط المعماري الذي يفصل بين نماذج البيانات Models، وطبقات العرض Views، والمتحكمات Controllers في Laravel.
للمراجعة
02 CLI CLI
Command Line Interface
واجهة سطر الأوامر التي تعمل عبر أداة php artisan لتوليد الملفات وإدارة التطبيق.
للمراجعة
03 HTTP HTTP
Hypertext Transfer Protocol
بروتوكول نقل النص الفائق الذي ينظم طلبات المتصفح واستجابات خادم Laravel.
للمراجعة
04 PSR PSR
PHP Standards Recommendations
المعايير القياسية للغة PHP مثل التحميل التلقائي PSR-4 التي يلتزم بها إطار العمل Laravel.
للمراجعة

اقرأ البطاقات بحرية. سجّل الدخول لحفظ تقدم مراجعتك.

من الفهم للتطبيق

مهامك قبل الاختبار

خطوة صغيرة كل مرة. وإنجاز تقدر ترجع له.

0/2مهام منجزة
  1. اكتب ونفّذ المثال البرمجي المشروح في قسم «تعريف المسارات بملف routes/web.php» داخل مشروع Laravel 12 المحلي وتحقق من النتيجة.

  2. بدّل بين الحالات الثلاث في المحاكي التفاعلي ضمن قسم «مسارات طرق HTTP الأساسية بالويب» وقارن مخرجات التنفيذ.

تأشير المهمة إقرار منك بإتمامها، وليس تصحيحًا آليًا للكود. يُحفظ تقدمك في حسابك.

مساحة التحدي

اختبر فهمك.
ووصلها للإتقان.

كل سؤال خطوة لقدّام. اختار، اكتب كود، وشوف نتيجتك فورًا.

8أسئلة 3أنواع تحديات 100%هدف الإتقان
تصحيح تلقائي. فرص بلا حدود.

أكمل المهام، واجمع كل الإجابات الصحيحة. أقل من 100%؟ راجع وأعد المحاولة.

الأسئلة متاحة للاطلاع. سجّل الدخول للتفاعل وحفظ تقدمك.

لمحة عن التحدي8 أسئلة تنتظرك
01

ما الهدف الهندسي الأساسي من تعريف المسارات بملف routes/web.php في إطار العمل Laravel 12؟

يسهم تعريف المسارات بملف routes/web.php في تنظيم منطق التطبيق بأسلوب معياري آمن وقابل للصيانة في Laravel 12.

02

يساعد الالتزام باصطلاحات Laravel 12 الرسمية في قسم «مسارات طرق HTTP الأساسية بالويب» على رفع جودة الكود وسهولة اختباره آلياً.

صواب؛ الالتزام بالمعايير القياسية في Laravel 12 يجعل الكود واضحاً وسهل الفحص والصيانة.

03

أي آلية في Laravel 12 تتولى إدارة إرجاع النصوص ومصفوفات JSON مباشرة بشكل مباشر ومنظم؟

توفر طبقة إطار العمل وحاوية الخدمات في Laravel 12 الأدوات القياسية لإدارة إرجاع النصوص ومصفوفات JSON مباشرة.

04

لماذا يُعد تطبيق المسارات المتعددة match و any مهماً عند بناء تطبيقات Laravel 12 جاهزة للإنتاج؟

لأنه يمنع الأخطاء البرمجية الخفية ويوحد سلوك التطبيق بين بيئتي التطوير والإنتاج.

05

في Laravel 12، يُنصح بكتابة مفاتيح الإنتاج السرية مباشرة داخل ملفات الكود المصدري المرفوعة إلى Git بدلاً من ملفات البيئة.

خطأ؛ يجب حفظ المفاتيح والبيانات السرية في متغيرات البيئة وعدم رفعها أبداً إلى مستودع Git.

06

ما المزايا الهندسية التي يحققها تطبيق مسارات التحويل وفحص قائمة المسارات في Laravel 12؟ (اختر كل ما ينطبق)

يوفر فصلاً واضحاً للمسؤوليات، وأماناً أعلى أثناء التنفيذ، وتعاوناً أسهل بين أفراد الفريق.

07

يوظف إطار العمل Laravel 12 ميزات PHP 8 الحديثة مثل تحديد أنواع القيم المرجعة لجعل الكود أكثر وضوحاً وأماناً.

صواب؛ يعتمد Laravel 12 بشكل كامل على الصياغة الحديثة للغة PHP 8.2+ وسلامة الأنواع.

08

ما الفرق الجوهري بين معيار Laravel 12 الحديث والملفات اليدوية التقليدية في مقارنة دوال التوجيه وطرق HTTP؟

يوفر Laravel 12 واجهات قياسية موحدة وحماية مدمجة تغني عن الكود اليدوي المعرض للأخطاء.