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

ما الفرق بين إرسال طلب حذف بدون الموجه @method('DELETE') في لارافل وبين استخدام الموجه

Abdelrahman Mostafa10

السؤال

ما الفرق بين إرسال طلب حذف كالتالي:

<a href="{{ route('users.destroy', $user) }}" class="btn btn-danger" 
   onclick="return confirm('Remove user?')">
Delete user
</a>

وبين الطريقة الطريقة التالية:

<form action="{{ route('users.destroy', $user) }}" method="POST"
   class="d-inline-block" onsubmit="return confirm('Remove user?')">
    @csrf
    @method('DELETE')

    <button type="submit" class="btn btn-danger">
        Delete user
    </button>
</a>

وأيهما أفضل، وهل هناك موجهات أخرى في لارافل؟ ولا أعلم هل @method('DELETE') تابع للارافل أم ماذا؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 16 ساعة قال Abdelrahman Mostafa10:

ما الفرق بين إرسال طلب حذف كالتالي:

<a href="{{ route('users.destroy', $user) }}" class="btn btn-danger" 
   onclick="return confirm('Remove user?')">
Delete user
</a>

وبين الطريقة الطريقة التالية:

<form action="{{ route('users.destroy', $user) }}" method="POST"
   class="d-inline-block" onsubmit="return confirm('Remove user?')">
    @csrf
    @method('DELETE')

    <button type="submit" class="btn btn-danger">
        Delete user
    </button>
</a>

وأيهما أفضل، وهل هناك موجهات أخرى في لارافل؟ ولا أعلم هل @method('DELETE') تابع للارافل أم ماذا؟

الفرق بين الطريقتين هو:

  • الطريقة الأولى تستخدم طريقة GET لإرسال الطلب.
  • الطريقة الثانية تستخدم طريقة POST لإرسال الطلب. 

الطريقة الأولى أبسط وأسهل للتطبيقات غير الحساسة, الطريقة الثانية أكثر أمانًا لأنها تمنع الحذف عن طريق الخطأ عبر GET. كما تدعم CSRF protection.

أما بالنسبة لـ @method فهو تابع لارافل يُستخدم لتغيير طريقة الطلب عند استخدام POST، فمثلاً للحذف لابد من إرسال DELETE request.

يُستخدم في البرمجة على الويب عدة أنواع من طرق HTTP (HTTP methods) لتحديد نوع العملية التي يجب أن يقوم بها الخادم على الموارد. 

فهؤلاء أهم طرق بروتوكول HTTP:

- GET: 
  يستخدم لجلب (استرجاع) معلومات من الخادم. مثل قراءة محتوى صفحة. 

- POST:
  يستخدم لإرسال معلومات جديدة إلى الخادم لإنشاء مورد جديد. مثل إنشاء تسجيل جديد في قاعدة البيانات.

- PUT:
  يستخدم لتحديث معلومات مورد معين بالكامل. مثل تعديل بيانات تسجيل كاملة. 

- PATCH:
  كPUT ولكن يسمح بتعديل جزء من المورد فقط.

- DELETE:  يستخدم لحذف مورد معين. مثل حذف تسجيل من قاعدة البيانات.

فبشكل عام الطريقة الثانية أفضل لأنها أكثر أمانًا وهي الطريقة المتبعة عمومًا في لارافل.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...