דלגו לתוכן

MVC תבנית ב-XOOPS

XMF נדרש 4.0.x מקורי

:::הערה[לא בטוח אם זה התבנית הנכונה?] ראה בחירת דפוס גישה לנתונים לקבלת הדרכה לגבי מתי להשתמש ב-MVC לעומת דפוסים פשוטים יותר. :::

:::זהירות[הבהרה: XOOPS אדריכלות] סטנדרטי XOOPS 2.5.x משתמש בתבנית Page Controller (נקראת גם Transaction Script), לא MVC. מודולים מדור קודם משתמשים ב-index.php עם כולל ישיר, אובייקטים גלובליים ($xoopsUser, $xoopsDB), וגישה לנתונים מבוססת מטפל.

כדי להשתמש ב-MVC ב-XOOPS 2.5.x, אתה זקוק ל-XMF Framework המספקת תמיכה בניתוב ובבקר.

XOOPS 4.0 יתמוך באופן טבעי ב-MVC עם PSR-15 תוכנת ביניים וניתוב מתאים.

ראה גם: אדריכלות XOOPS נוכחית :::

דפוס ה-Model-View-Controller (MVC) הוא דפוס ארכיטקטוני בסיסי להפרדת חששות במודולים XOOPS. דפוס זה מחלק יישום לשלושה רכיבים מחוברים זה לזה.

המודל מייצג את הנתונים וההיגיון העסקי של האפליקציה שלך. זה:

  • ניהול התמדה של נתונים
  • מיישמת כללים עסקיים
  • מאמת נתונים
  • מתקשר עם מסד הנתונים
  • אינו תלוי בממשק המשתמש

ה-View אחראי להצגת הנתונים למשתמש. זה:

  • מעבד HTML תבניות
  • מציג נתוני דגם
  • מטפל במצגת ממשק משתמש
  • שולח פעולות משתמש לבקר
  • צריך להכיל היגיון מינימלי

הבקר מטפל באינטראקציות של משתמשים ובקואורדינטות בין דגם לתצוגה. זה:

  • מקבל בקשות משתמשים
  • מעבד נתוני קלט
  • קורא לשיטות מודל
  • בוחר תצוגות מתאימות
  • מנהל את זרימת האפליקציה

ב- XOOPS, דפוס MVC מיושם באמצעות מטפלים ותבניות עם מנוע Smarty המספק תמיכה בתבניות.

<?php
class UserModel
{
private $db;
public function getUserById($id)
{
// Database query implementation
}
public function createUser($data)
{
// Create user implementation
}
}
?>
<?php
class UserController
{
private $model;
public function listAction()
{
$users = $this->model->getAllUsers();
return ['users' => $users];
}
}
?>
{foreach from=$users item=user}
<div>{$user.username|escape}</div>
{/foreach}
  • שמור על היגיון עסקי במודלים
  • שמור מצגת בתצוגות
  • שמור routing/coordination בבקרים
  • אין לערבב חששות בין שכבות
  • אימות כל הקלט ברמת הבקר

ראה גם:


תגיות: #mvc #patterns #architecture #module-development #design-patterns