Hussein Al Dabwani نشر 9 يناير أرسل تقرير نشر 9 يناير السلام عليكم عندي سؤال بخصوص controller في نمط MVC هل الكنتروللر هو السؤال عن التحقق ومعالجة البيانات مثل التنظيف التعقيم للبيانات الاتية من view بعد ذالك تذهب الى model . او model هو ياخذ البيانات من الكنترولرر ويقوم بمعالجة البيانات والتحقق منها مثلا : private function validateTextInputs($bookName, $description, $language, $file_type) { if (empty($bookName)) { return ['hasInputEmpty' => 'يرجاء كتابة اسم الكتاب']; } if (empty($description)) { return ['hasInputEmpty' => 'يرجاءإدخال وصف الكتاب']; } if (empty($language)) { return ['hasInputEmpty' => 'يرجاء تحدد اللغة']; } if (empty($file_type)) { return ['hasInputEmpty' => 'يرجاء تحدد نوع الملف']; } return null; } 1 اقتباس
0 ياسر مسكين نشر 9 يناير أرسل تقرير نشر 9 يناير السلام عليكم ورحمة الله، ال Controller هنا يستقبل البيانات من View ويقوم بالتحقق الأساسي منها مثل التأكد من أن الحقول ليست فارغة أو الصيغة صحيحة وتنظيفها من خلال ال Sanitization ثم يمررها إلى Model الذي يتولى التحقق المنطقي الأعمق (Business Validation) مثل التأكد من عدم تكرار البيانات في قاعدة البيانات أو تطبيق قواعد العمل المعقدة. وفي الكود خاصتك يمكنك ملاحظة أنّ دالة validateTextInputs تنتمي لل Controller لأنها تتحقق فقط من وجود البيانات (empty checks) وهو تحقق أساسي من الإدخال أما لو كان التحقق يتطلب معرفة بحالة النظام أو قواعد عمل معقدة مثل التحقق من وجود كتاب بنفس الاسم فهذا يكون في ال Model. اقتباس
0 محمد عاطف25 نشر 11 يناير أرسل تقرير نشر 11 يناير وعليكم السلام ورحمة الله وبركاته. إن الفكرة الأساسية في MVC تكمن في Controller (المتحكم): وهو الوسيط بين : View (النموذج/Form) Model (قاعدة البيانات + منطق العمل) ووظيفته : استقبال البيانات من ال View ($_POST, $_GET) تنظيف البيانات البسيطة التحقق من صحة الإدخال من ناحية الواجهة (Form Validation) تمرير البيانات الصحيحة إلى النموذج Model تحديد أي View يتم عرضه Model (النموذج): وهو المسؤول عن: منطق العمل (Business Logic). التعامل مع قاعدة البيانات. التحقق من البيانات المرتبطة. القواعد التي يجب ألا يتم كسرها حتى لو جاء الطلب من API . View (العرض) : ووظيفته هو عرض البيانات فقط لا تحقق و لا منطق و لا تعامل مع قواعد البيانات. نأتي للإجابة على سؤالك . النموذج والمتحكم هم الإثنان مسؤولان عن التحقق من البيانات ولكن بطريقة مختلفة. التحقق والتنظيف في Controller (التحقق السطحي) : مثل : هل الحقول فارغة. هل تم إرسال الحقل. هل الصيغة صحيحة مثل البريد الإلكتروني أو رقم. تعقيم XSS (trim, htmlspecialchars). أما التحقق في Model (التحقق العميق) : مثل: هل اسم الكتاب موجود مسبقا . هل اللغة مسموح بها في النظام. قواعد العمل (Business Rules). اقتباس
السؤال
Hussein Al Dabwani
السلام عليكم عندي سؤال بخصوص controller في نمط MVC
هل الكنتروللر هو السؤال عن التحقق ومعالجة البيانات مثل التنظيف التعقيم للبيانات الاتية من view بعد ذالك تذهب الى model .
او model هو ياخذ البيانات من الكنترولرر ويقوم بمعالجة البيانات والتحقق منها
مثلا :
private function validateTextInputs($bookName, $description, $language, $file_type)
{
if (empty($bookName)) {
return ['hasInputEmpty' => 'يرجاء كتابة اسم الكتاب'];
}
if (empty($description)) {
return ['hasInputEmpty' => 'يرجاءإدخال وصف الكتاب'];
}
if (empty($language)) {
return ['hasInputEmpty' => 'يرجاء تحدد اللغة'];
}
if (empty($file_type)) {
return ['hasInputEmpty' => 'يرجاء تحدد نوع الملف'];
}
return null;
}
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.