هل هي فكرة جيدة أن تجمع بين اياكس/UI إطار JS (ext,مسج-ui) مع PHP MVC framework (زند, symfony)?

StackOverflow https://stackoverflow.com/questions/1800775

سؤال

أدرك أن هذا هو السؤال عام جدا, ولكن أعتقد أنني لست حقا تبحث عن إجابة شافية.كونها جديدة أطر PHP أواجه صعوبة في الحصول على رأسي من حوله.

الأطر جافا سكريبت ، خاصة مع امتداد واجهة المستخدم, يبدو أن لديك نوعا من MVC-مثل نهج فصل JS التعليمات البرمجية من التصميم الخاص بك.يبدو أنه سيكون مربكا استخدام إضافية إطار MVC على الخلفية.

هذا عادة القيام به من أجل المقام الأول AJAX مدفوعة التطبيقات ؟ هل هناك قبول/الطريقة الأكثر شيوعا للقيام بذلك ؟

هل كانت مفيدة؟

المحلول

مثال سريع كيف يمكن أن تناسب معا من أجل زند إطار التطبيق (وهذا من التطبيق التجريبي كتبت قبل بضعة أشهر):

  • استخدام MCV إطار بناء وظيفية بالكامل الموقع (الذي يعمل بدون جافا سكريبت).
  • تعديل المراقب أن نفهم الفرق بين 'العادية' طلب و طلب اياكس (زند سياق التحول يجعل هذا من السهل).
  • إضافة جافا سكريبت (في بلدي على سبيل المثال مسج) إلى نظيفة استبدال الروابط مع اياكس الأحداث.

في النهاية, PHP التطبيق يعلم أن طلب اياكس يحتاج اياكس الاستجابة (أقل عرض النطاق الترددي أقل تجهيز فقط JSON أو HTML 'مقتطف'), ولكن طلب عادي الاحتياجات كامل الصفحة التي تم إنشاؤها.

أساسا أنت فقط باستخدام اياكس طلب (أو تحديث أو إضافة بيانات) عرض القالب, دون الحاجة إلى عملية تخطيط كامل.في الإطار زند تبديل سياق العمل المساعد قد يساعد هذا أكثر منطقية.

الجدير بالذكر أن سياق التحول يعمل بشكل جيد في تقديم طلب المتاحة في أشكال مختلفة - HTML/XML,CSV,.... الخ

نصائح أخرى

وانها الخطوة المنطقية التالية من MVC، في رأيي. يمكنك فصل بالفعل وصولك البيانات (نموذج)، من منطق الأعمال (وحدة تحكم)، من إخراج (عرض) - الآن كنت مجرد فصل السلوك من الترميزية

.

في تجربتي، وأنها تعمل بشكل جيد مع ميزات AJAX، منذ تحتاج فقط إلى تغيير وجهة نظركم الى العودة المعلومات المطلوبة JSON أو XML.

لها فكرة جيدة جدا ، منذ PHP MVC الأطر واحدة مع شبيبة الأطر:


تحديث الرابط, شكرا "استثناء e".

وشخصيا ونحن نستخدم زند (MVC فضلا عن جوانب أخرى من إطار زند) مع مسج وأنه يعمل بشكل جيد للغاية معا. منذ ليس كل من تفاعل من صفحة أتش تي أم أل سيكون عن طريق مسج (اياكس) ثم بنية MVC القياسية ينصح بشدة. تريد بالتأكيد طبقات العمارة الخاص بك (فصل النموذج وعرض)، وبعد مسج و(على الأقل بالنسبة لي) و "ميزة" إضافية تمكنه من تنفيذ MVC بشكل غير متزامن.

<اقتباس فقرة>   

ويبدو تماما مثل أنه سيحصل مربكا لاستخدام إطار MVC إضافية على الواجهة الخلفية.

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

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

وكيف احصل على الاستجابة MVC زند إلى أجاكس؟ أنصحك لعرض حول ZF ↔ اياكس من الرصاص المشروع زد إف.

scroll top