model-view-controller - شرح - mvc php



نماذج متعددة الجدول مع مفك؟ (1)

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

معظم المواد التي جئت عبر يبدو أن لديها علاقة 1-1 بين النماذج، وجهات النظر، والجداول - أي كل نموذج يمثل جدولا ويسمح كرود، بالإضافة إلى وظائف أكثر تعقيدا.

ماذا لو كان لدي نموذج حساب، مما يسمح بإنشاء الحساب وتحديثه.

أريد استخدام طريقة عرض / اشتراك و وحدة تحكم لإنشاء () الحساب، ولكنك تريد استخدام عرض / عضو / حساب و وحدة تحكم لتحديث، تغيير، الخ.

هل سيكون من الأفضل أن يكون لديك نموذج الاشتراك، أو أنا طيب مع مجرد استخدام أي نموذج أحتاج من مواقع متعددة؟

أيضا، يمكن القول أن الحساب يمكن أن يكون العديد من المستخدمين، ولكن أريد إنشاء المستخدم الأول عند الاشتراك. أود تشغيل إعداد الحساب وإنشاء المستخدم كعملية. هل يجب أن يكون لدي نموذج حساب ونموذج مستخدم، وأن أعمل مع كليهما، أم أن لديهما وظيفة إنشاء () إنشاء للحساب إنشاء المستخدم الافتراضي؟

أنا باستخدام فب مع كودينيتر


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

ما أود أن أقترح هو أن ننظر إلى المشكلة باعتبارها واحدة من وجود طبقة واحدة أن التفاعل بين الجداول الخاصة بك والتطبيق الخاص بك؛ طبقة "كائنات البيانات" الخاصة بك. فكر في ذلك كسلسلة نقية. إذا كنت تستخدم نموذج كائن، فستكون هذه هي طبقة أورم.

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

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