سؤال

لذلك ، أعتقد أنني أفهم نظام الملفات المتتالي في المصطلحات الأساسية ، لكن لا يمكنني أن ألتقط رأسي حول بنية "H'ierachy لـ MVC. هل يمكن لأي شخص أن يخبرني بمزايا استخدام HMVC عبر MVC وهي الوظيفة الأساسية المقصودة؟

شكرا على وقتك!

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

المحلول

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

التركيز على عناصر واجهة المستخدم الرسومية القابلة لإعادة الاستخدام. انظر هنا للحصول على قراءة إضافية: http://www.javaworld.com/javaworld/jw-07-2000/jw-0721-hmvc.html.

تحرير: هنا رابط فعلي يركز على PHP: . يبدو أن لديها رسوم توضيحية أجمل كذلك.

نصائح أخرى

يمكنك تقديم طلب للحصول على صفحة (وحدة تحكم وإجراء بواسطة الطرق) داخليًا. يمكنك القيام بذلك على سبيل المثال:

class Controller_Menu extends Controller
{
    public function action_index()
    {
        $this->request->response = view stuff ...
        $this->request->response->set('...', ...) // some vars
    }
}

و

class Controller_Home extends Controller
{
    public function action_index()
    {
        $this->request->response = ...; // some view stuff...
        $this->request->response->set('menu', 
            Request::factory('menu')->execute()->response // here happens the magic
        );
    }
}

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

وصف الأشخاص في منتديات KO3 قدرة HMVC مثل تقديم طلب AJAX دون طلب HTTP إضافي.

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

في الوقت الحالي ، فإن العمل بهذه الطريقة محدود للغاية ، ويرجع ذلك أساسًا إلى نوع الطلبات التي يمكن إرسالها. إليكم منشور منتدى قدمته منذ فترة قصيرة فيما يتعلق بهذا. قد يوضح كيف يمكن أن يكون HMVC مفيدًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top