هل تنصح بالالتزام بMVC عند انشاء موقع الكتروني بPHP ولماذا؟


التعليقات

17

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

أنا ضد أن يجبر المبرمج على تبني فلسفة بناء جديدة لأنها أصبحت رائجة.

ولكن قد يحتم عليك العمل ضمن فريق أن تلتزم المنهج العام وليس الشخصي

أو أن تقنع فريقك بقوة المنهج الذي تتبناه

14

أعتقد أنها طريقة أفضل لترتيب كودك و أفكارك و لكنك غير ملتزم بها فيمكنك أستخدام الطرق العادية و طريقة الـ MVC رائعة و قوية و لذلك أستخدمتها مايكروسفت أيضاً مع ASP.NET كما أستخدمتها البي أتش بي و في الأول و الأخر الموضوع يرجع إلى التقدير الشخصي للمطور

تحياتي

اذا لم تستخدم MVC او اي Design Pattern فبلاشك ستس phpتخدم اسلوب حشو اكواد داخل html وكثرة ملفات php حتى لو استخدمت نظام قوالب مثل smarty و كذلك استخدمت البرمجة الكائنية OOP فلن تستفيد الشيئ الكثير وسيظل برنامجك "مشتت".

قيمة الـ MVC تظهر بشكل كبير عندما تعمل كفريق او تبني برامج متنوعة، سواء استخدمت اطار عمل يدعم MVC او بنيت الاطار الخاص بك .

نعم وخصوصا اذا كان موقع كبير او بمعنى اصح معقد

هي نمط تنظيمي يحاول فصل وتوزيع الأجزاء أو المهام وفق منهجية ما

يعني لتوضيح الأمر بمثال

كمن يجمع جميع موظفيه ولكل أنشطة شركاته في مقر واحد

أو أن يجعل لكل نشاط شركته الخاصة

وفي الشركة كل قسم له رئيس ومكاتب مخصصة

و يتم التعامل فيما بينهم وفق نظام معين

أكبر مثال تلاحظ مثلا أنه يخصص الطابق السفلي للاستقبال

والطابق التالي للأمور المالية الداخلية

وستور خلفي كمستودع

و الطلبات تتجه من قسم لقسم وفق نظام محدد لضبط الأمور

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

:) هذه المنصه تستخدم تقنيه MVC

جميع أطر العمل تقريبا تستخدم تقنيه MVC

من ناحيتي أشجع وبقوه استخدام هذه التقنيه فأي شخص يمكنه التعديل على الكود بسهوله

لست ملزما

لكن من الاحسن استعماله لتنظيم الاكواد

لست ملزما..

أنا منذ دخلت عالم ASP.NET بدأت مباشرة بـ MVC4 + Razor وبنيت به أول موقع

والموقع الثاني كان بـ MVC5 + Razor

كما تفضل الإخوة هي نمط تنظيمي

تماما مثلما تبنيت نمط MVVM في تطبيقات WPF و SilverLight

أما في مشروعي الذي أقوم به الآن دون فريق فأنا صنعت إطار عمل ونمط خاص بي واعتمدته وأحاول توثيقه ليلتزم به من يكمل المشروع بعدي

نعم لأن قلة التنظيم قد تجعل الكود غير منظم او ان المبرمج للحفاظ على ال readability سيضطر لانشاء عدد كبير من الملفات لتنظيم المشروع..

15

نظام هو طريقة بناء التطبيق بحيث ينقسم إلى ثلاثة أقسام:

  • Model: حلقة الوصل بين الـ View و الـ Controller بحيث يستقبل الطلبات من الكنترولر ويرسلها للفيو.

  • View: الجزء المختص بالعرض فقط

  • Controller: الجزء المتعلق بمعالجة البيانات.

للتبسيط، فإن ملفات php في قسم الكنترولر تهتم بالمعالجة المنطق وترسل البيانات إلى الموديل الذي يختار الفيو المناسب ويظهره وهذا النظام في بناء التطبيقات.

بالطبع يتم توزيع الملفات على العديد من المجلدات وتوجد بعض القواعد التي يجب إتباعها، وتوجد أطر عمل مثل Zend Frame Work و Laravel تستخدم هذه الطريقة في بناء التطبيقات.

يعني طريقة عمل البرنامج من الداخل ؟؟ أم هو مصطلح ؟؟

15

عزيزي الـ MVC عبارة عن اسلوب برمجة، مثال لو اردت ان تبني بيت وجاء لك شخص متخصص في بناء البيوت وقالك حط غرفة النوم على اليسار والحمام على اليمين وأجعل مقاس المطبخ 100 متر في 50، ثم بيقولك سوي كذا عشان التهوئة ويكون البيت بارد في الصيف وبيذكر لك المزايا لو قسمت بيتك بهذه الطريقة والقرار الاخير يرجع لك ممكن تلتزم بهذا الاسلوب او لا، الـ MVC نفس الشيئ في ناس بعد تجاربهم الطويلة في بناء البرمجيات اوجدوا حلول لحل بعض المشاكل مثل سرعة الانجاز وتنظيم الكود وسهولة التطوير وقالوا اذا تريد ان تحقق هذه النقاط ابني برنامجك بأسلوب MVC ويعتمد هذا الاسلوب على انك تقسم برنامجك الى ثلاثة اجزاء الي هي الواجهات View والدوال والكلاسات او اي خوارزمية للتعامل مع البيانات Model والرابط مابين الواجهات والمودل الي هو Controller ، بمعنى اخر اي شيئ متعلق بالواجهه من ازرار وحقول وصور وغيرها اجعله بشكل مستقل حطه في مجلد لحاله مثلا، واي دالة او كلاس او اي خوارزمية لمعالجة البيانات افرزهم لحالهم بشكل مستقل بدون ان تتداخل مع الواجهه بشكل مباشر، والمستخدم لما يتعامل مع برنامجك لا توصله مباشرة بالواجهه بل اجعله يتعامل مع الموجه الي هو Controller هذا الموجه وظيفته انه ياخذ الاوامر من المستخدم ويربطها مع الواجهة والدالة او الكلاس المناسب، فقط هذا كل الموضوع، كيف تستخدم هذا الاسلوب او كيف تبني الـ Controller مثلا، هذا راجع لك ولخبرتك في البرمجة كل واحد يستخدم الخوارزميات الي يفهمها المهم ان برنامجك يكون مقسم الى هذه الثلاثة الاجزاء بغض النظر عن الخوارزميات التي استخدمتها.

الآن فهمت .. شكرا على التوضيح أخي .

جميل، أخيرا فهمت هذا الشيء الذي صادفته كثيرا من قلب ولم أفهمه بشكل جيد

والغريب أني كنت أستعمله بدون أن أدري

14

باختصار .. MVC هي تقنية او ما تسمى Pattern .. يعني طريقة في البرمجة من مجموعة الطرق

و هي تركز على فصل التطبيق الى ثلاثة اقسام ..

القسم Model والذي فيه والذي رمز له بالرمز M و يكون به العملية البرمجية الحقيقية من اضافة وحذف و تعديل في قواعد البيانات مثلاً بالاضافة الى العمليات الحسابية الخ .

القسم Controller و هو مايرمز له C وهو يعني بسير توجه البرنامج فيكون مسؤلاً مثلا عن اظهار صفحات طلب تسجيل الدخول لمن لم يسجل ثم اذا طلب المستخدم حذف شيء فهو ينقله الى صفحة تاكيد الحذف .. اي مايعني بتنقل المستخدم بين صفحات ( واجهات ) التطبيق ."وهو وسيط مابين ال model و الview"

بقي لدينا القسم الاخير وهو View الرمز V .. ويعني فقط بناء الشاشات والواجهات التطبيقية مثل عرض الجداول و تنسيقها ومثل عرض الفورمز التي تستقبل مدخلات المستخدم بما فيها من textbox و radio button .. الخ بدون اي يكون لها اي تدخل في اي قسم اخر .


تطوير الويب

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

91 ألف متابع