इसे छोड़कर कंटेंट पर जाएं

XOOPS में एमवीसी पैटर्न

XMF Required 4.0.x Native

:::ध्यान दें[निश्चित नहीं कि यह सही पैटर्न है?] एमवीसी बनाम सरल पैटर्न का उपयोग कब करना है, इस पर मार्गदर्शन के लिए डेटा एक्सेस पैटर्न चुनना देखें। :::

:::सावधानी[स्पष्टीकरण: XOOPS आर्किटेक्चर] मानक XOOPS 2.5.x पेज कंट्रोलर पैटर्न (जिसे ट्रांजेक्शन स्क्रिप्ट भी कहा जाता है) का उपयोग करता है, एमवीसी का नहीं। लीगेसी मॉड्यूल index.php का उपयोग करते हैं जिसमें प्रत्यक्ष रूप से वैश्विक ऑब्जेक्ट ($xoopsUser, $xoopsDB), और हैंडलर-आधारित डेटा एक्सेस शामिल है।

XOOPS 2.5.x में MVC का उपयोग करने के लिए, आपको XMF फ्रेमवर्क की आवश्यकता है जो रूटिंग और नियंत्रक समर्थन प्रदान करता है।

XOOPS 4.0 मूल रूप से PSR-15 मिडलवेयर और उचित रूटिंग के साथ MVC का समर्थन करेगा।

यह भी देखें: वर्तमान XOOPS आर्किटेक्चर :::

मॉडल-व्यू-कंट्रोलर (एमवीसी) पैटर्न XOOPS मॉड्यूल में चिंताओं को अलग करने के लिए एक मौलिक वास्तुशिल्प पैटर्न है। यह पैटर्न किसी एप्लिकेशन को तीन परस्पर जुड़े घटकों में विभाजित करता है।

एमवीसी स्पष्टीकरण

Section titled “एमवीसी स्पष्टीकरण”

मॉडल आपके एप्लिकेशन के डेटा और व्यावसायिक तर्क का प्रतिनिधित्व करता है। यह:

  • डेटा दृढ़ता का प्रबंधन करता है
  • व्यावसायिक नियम लागू करता है
  • डेटा को मान्य करता है
  • डेटाबेस के साथ संचार करता है
  • यूआई से स्वतंत्र है

व्यू उपयोगकर्ता को डेटा प्रस्तुत करने के लिए जिम्मेदार है। यह:

  • HTML टेम्प्लेट प्रस्तुत करता है
  • मॉडल डेटा प्रदर्शित करता है
  • यूजर इंटरफ़ेस प्रस्तुति को संभालता है
  • उपयोगकर्ता क्रियाओं को नियंत्रक को भेजता है
  • न्यूनतम तर्क होना चाहिए

नियंत्रक उपयोगकर्ता के इंटरैक्शन को संभालता है और मॉडल और व्यू के बीच समन्वय करता है। यह:

  • उपयोगकर्ता अनुरोध प्राप्त करता है
  • इनपुट डेटा को प्रोसेस करता है
  • मॉडल विधियों को कॉल करता है
  • उपयुक्त दृश्य का चयन करता है
  • एप्लिकेशन प्रवाह का प्रबंधन करता है

XOOPS में, एमवीसी पैटर्न को टेम्पलेट समर्थन प्रदान करने वाले Smarty इंजन के साथ हैंडलर और टेम्पलेट्स का उपयोग करके कार्यान्वित किया जाता है।

बुनियादी मॉडल संरचना

Section titled “बुनियादी मॉडल संरचना”
<?php
class UserModel
{
private $db;
public function getUserById($id)
{
// Database query implementation
}
public function createUser($data)
{
// Create user implementation
}
}
?>

नियंत्रक कार्यान्वयन

Section titled “नियंत्रक कार्यान्वयन”
<?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}

सर्वोत्तम प्रथाएँ

Section titled “सर्वोत्तम प्रथाएँ”
  • मॉडल में व्यावसायिक तर्क रखें
  • प्रेजेंटेशन को व्यूज में रखें
  • नियंत्रकों में रूटिंग/समन्वय बनाए रखें
  • परतों के बीच चिंताओं को न मिलाएं
  • नियंत्रक स्तर पर सभी इनपुट को मान्य करें

संबंधित दस्तावेज़ीकरण

Section titled “संबंधित दस्तावेज़ीकरण”

यह भी देखें:


टैग: #एमवीसी #पैटर्न #वास्तुकला #मॉड्यूल-विकास #डिज़ाइन-पैटर्न