مصطفى اوريك نشر 13 أكتوبر أرسل تقرير نشر 13 أكتوبر السلام عليكم هل يمكن الجمع بين تقنية Blade و API في نفس المشروع؟ على سبيل المثال: أريد عرض صفحة أولية باستخدام Blade. أرغب في تحديث بعض أقسام الصفحة (مثل معلومات المنتج) دون إعادة تحميل الصفحة بالكامل عندما يتفاعل المستخدم معها (مثل النقر على منتج). 2 اقتباس
0 Adnane Kadri نشر 14 أكتوبر أرسل تقرير نشر 14 أكتوبر إن كان السؤال عن الإمكانية فالإجابة هي نعم وبكل تأكيد وبالعديد من الطرق: عن طريق أجاكس عن طريق Inertia عن طريق Livewire عن طريق Turbo Frames والعديد الآخر .. ولكن إن كان السؤال عن هل ينصح بذلك أم لا فالإجابة هي لا. لأن هذا الموضوع يتعارض مع فكرة فصل مكونات التطبيق أساسا، فلما تريد إنشاء تطبيق API / SPA أو API / SSR ثم تعود للإعتماد على Blade مرة أخرى. بجانب أن هذا يتعارض مع مبادئ REST في تصميم الواجهات البرمجية مثل مبدأ فصل الخادم والعميل Client-server decoupling و عدمية الحالة Statelessness. ولذلك بدل إنشاء قوالب HTML في الطلبية، يمكنك إنشاء بيانات مهيكلة وعرضها كقوالب HTML من قبل تطبيق العميل. اقتباس
0 محمد عاطف17 نشر 14 أكتوبر أرسل تقرير نشر 14 أكتوبر وعليكم السلام ورحمة الله وبركاته. نعم بالطبع يمكنك الجمع بيت blade و API لا مشكلة وذلك عن طريق Java Script . حيث بالفعل في blade يمكنك إستدعاء أى API سواء موجود في نفس المشورع أو API خارجي . ويمكنك إستخدام Ajax أو Fetch لإرسال الطلبات إلى API وبعد ذلك يمكنك التلاعب بالصفحة من خلال js وإضافة المعلومات التي تم إحضارها من ال API إلى الصفحة. document.querySelectorAll('.product').forEach(item => { item.addEventListener('click', event => { const productId = item.getAttribute('data-id'); fetch(`/api/products/${productId}`) .then(response => response.json()) .then(data => { document.getElementById('product-details').innerHTML = ` <h3>${data.name}</h3> <p>${data.description}</p> `; }); }); }); والكود السابق مثال لما تريد تنفيذ حيث إستخدمنا fetch لإرسسال الطلب إلى api وبعد إستلام الرد نقوم بالتعديل على الصفحة. ويمكنك رؤية الأجوبة التالية لشرح أكثر حول إستخدام ajax و fetch : اقتباس
السؤال
مصطفى اوريك
السلام عليكم
هل يمكن الجمع بين تقنية Blade و API في نفس المشروع؟
على سبيل المثال:
أريد عرض صفحة أولية باستخدام Blade.
أرغب في تحديث بعض أقسام الصفحة (مثل معلومات المنتج) دون إعادة تحميل الصفحة بالكامل عندما يتفاعل المستخدم معها (مثل النقر على منتج).
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.