اذهب إلى المحتوى
  • 0

أحتاج بعض التوضيح لهذه المصطلحات من فضلكم : Laravel

عبد الواحد الحدادي

السؤال

مرحبا بكم جميعاً؛ 

هل أجد من يوضح لي دور هذه التقنيات : 

  • Model
  • Controller
  • Migration

لو توجد مقالة تشرح هذه التقنيات شاركوها معي بارك الله فيكم .

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

مرحبا عبد ااواحد،

إن هرمية MVC قائمة على توزيع المهام البرمجية إلى 3 أقسام،

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

تقوم Eloquent في إطار العمل Laravel بمخاطبة قاعدة البيانات وتنفيذ تعليمات SQL بشكل يتناسب مع ما قد كتبناه عند تعريفنا للأصناف التي ترث الصف Model.

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

القسم الثالث، المتحكم Controller وهو عنصر الربط بين ماسبق، حيث أنه يستلم طلبية الزبون/المستخدم و يطلب بعدها البيانات المتوافقة من MODEL و بعدها يوجه البيانات بالشكل الصحيح لواجهة العرض المناسبة VIEW.

أما Migration: التهجير، هي المرحلة الوسيطة بين تعريف النماذج (الأصناف ضمن Model)، وعملية بناء قاعدة البيانات وما تحويه من جداول.

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

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

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

أهلاً بك عبدالواحد,

 

بتاريخ 16 دقائق مضت قال عبد الواحد الحدادي:

هل أجد من يوضح لي دور هذه التقنيات : 

  • Model

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

بتاريخ 20 دقائق مضت قال عبد الواحد الحدادي:
  • Controller

قبل هذا يجب توضيح الموجه أو route وهو عبارة عن كيان يحتوي على جميع الروابط أو الوجهات التي يمكن للنظام التوجه لها حيث أنه في كل صفحة تقوم بفتحها في مشروع لارافيل يجب أن تحتوي أولاً على موجه route, وغالباً يتم إستخدام ال controller مع ال route حيث أنه الكيان الذي يحدد الصفحات لل route والبيانات التي تحملها الصفحة ,أي يمكن تسميته أنه حلقة الوصل بين ال Modal و ال view والتي هي الصفحات التي يتم عرضها للمستخدم النهائي. حيث في حال قمت بتعريف UserController فهذا الكائن سيتعامل مع الطلبات التي لها علاقة بال user من عرض المستخدمين إنشاء ,تعديل وحذف وغيرها.

بتاريخ 29 دقائق مضت قال عبد الواحد الحدادي:
  • Migration

هو المخطط الخاص بقاعدة البيانات حيث أنه يتم التحديد بداخله أسماء الجداول و الأعمدة ونوع البيانات التي ستحملها وغيرها من الخصائص الخاصة بكل عمود في قاعدة البيانات وتوفر لارافيل Schema بداخل هذه ال Migration التي توفر دعمًا غير محدد لقاعدة البيانات لإنشاء الجداول ومعالجتها عبر جميع أنظمة قواعد البيانات المدعومة من لارافيل مثل MySQL ,PostgreSQL وغيرها. وبعد إنشاء يتم عمل عملية migration أو ترحيل لها لإنشاء الجداول والأعمدة وتعديلها.

مثال توضيحي بسيط لما يحدث عندك فتحك مثلاً صفحة تعرض بها جميع المنتجات الخاصة بمتجر ما ,في البداية يجب أن يكون لدينا migration وقمنا بتهجيره إلى قاعدة البيانات ليتم إنشاء الجداول والأعمدة بداخله ثم وبسبب وجود route لهذه الصفحة ستفتح الصفحة وال route يقوم بالتوجه إلى controller مع تحديد الدالة المراد التوجه لها ثم وبداخل هذه الدالة يتم استخدام ال Model لجلب جميع المنتجات في المتجر ويتم تحويل هذه المنتجات من ال Controller إلى view ليتم عرضها للمستخدم النهائي على شكل جدول.

بتاريخ 14 دقائق مضت قال عبد الواحد الحدادي:

لو توجد مقالة تشرح هذه التقنيات شاركوها معي بارك الله فيكم .

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

مرحباً عبد الواحد،

لارافيل هو أحد أطر العمل المبنية على لغة php و هي عبارة عن MVC Framework أي أنها تعتمد على معمارية MVC تُعتبر هذه الأخيرة نمط تصميم في مجال البرمجيات ككل فهو ليس خاص بلغة برمجة مُعينة او إطار عمل مُحدد، و هو إختصار ل Model, View, Controller و يُستخدم لفصل الإهتمامات و هدف مُحدد،

  • Model هو النموذج الذي يتعامل مع قاعدة البيانات و في لارافيل تجد أن كل نموذج يتعامل مع جدول مُحدد و يُعتبر الواجهة البرمجية لهذا الجدول و عندما نريد ربط الجداول مع بعض لتكوين علاقات فإننا نستخدم هذا النموذج
  • view: هو عبارة عن الواجهة او صفحة العرض التى يتعامل معاها المستخدم فى التطبيق مثل القوائم و حقول البحث و السليدات وغيرها
  • controller : هو الوسيط بين view و model فهو يعالج العمليات المنطقية والطلبات القادمة (requests) وكذلك التعامل مع البيانات القادمة من قواعد البيانات لاخراجها على view فى صورة ملائمة فهو يتحكم و يربط بين العرض و النموذج

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

بتاريخ منذ ساعة مضت قال عبد الواحد الحدادي:
  • Migration

بخصوص الMigration فهي بكل بساطة ملفات تُساعدنا على بناء و التعديل على جداول قاعدة البيانات و الأعمدة المُكونة لهذه الجداول قد يبدو الأمر مُعقّدا بعض الشيء، لكنه في الحقيقة بسيط، وبمُجرد أن تفهم الآلية ستُلاحظ أنه مفيد جدا يُمكنك الإطلاع على هذا المقال لمعلومات أكثر:

بالتوفيق.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...