Free tutorials & notes in Hindi & English · Clean code examples 🧰 मुफ़्त PDF और फ़ोटो टूल्स →
🔴 Advanced  ·  Lesson 39

MVC Architecture

MVC क्या है

MVC यानी Model, View, Controller — app को तीन हिस्सों में बाँटकर व्यवस्थित करने का तरीका, हर एक का एक काम। database code, logic और HTML मिलाने वाली एक विशाल file के बजाय, MVC इन्हें अलग और साफ़ रखता है। लगभग हर आधुनिक PHP framework इसी pattern पर बना है।

💡 सरल तस्वीर: Model = data, View = दिखावट, Controller = दिमाग़ जो इन्हें जोड़ता है।

Model (data)

Model data संभालता है — database से बात करना और नियम लागू करना।

<?php
  class UserModel {
      public function getUser($id) {
          // database से लाना (PDO से)
          return ["id" => $id, "name" => "Aman"];
      }
  }
?>

सिर्फ़ Model database को छूता है। "data क्या है और कैसे लाना है" के बारे में सब कुछ यहाँ, एक जगह रहता है।

View (display)

View वो है जो user देखता है — HTML, data से भरा।

<!-- user_view.php -->
<h1>Welcome <?php echo $name; ?></h1>

View सिर्फ़ दिखाता है; इसमें कोई database code और थोड़ी logic होती है। इसका मतलब designer app के दिमाग़ को छुए बिना दिखावट बदल सकता है।

Controller (logic)

Controller बीच का जोड़ है: यह request लेता है, Model से data माँगता है, और View चुनता है।

<?php
  class UserController {
      public function show($id) {
          $model = new UserModel();
          $user = $model->getUser($id);
          $name = $user["name"];
          include "user_view.php";   // View दिखाओ
      }
  }
?>

Controller "क्या करना है" logic रखता है पर कोई SQL और HTML नहीं — यह Model और View में तालमेल करता है।

Request कैसे बहती है

  1. User /user/5 जैसे URL पर जाता है।
  2. Controller इसे पाता है और id (5) पढ़ता है।
  3. यह Model से user 5 का data माँगता है।
  4. वो data View को देता है।
  5. View HTML render करता है, जो browser को भेजा जाता है।

हर हिस्से ने अपना काम किया — data, तालमेल, display — और दूसरों के रास्ते से हटा रहा।

MVC क्यों इस्तेमाल करें

  • अलगाव। database code छुए बिना layout बदलिए।
  • टीमवर्क। designer Views edit करे जबकि developer Models।
  • दोबारा इस्तेमाल। एक Model कई Views को data दे सकता है।
  • Maintainable। हर हिस्से का एक काम होने पर bugs ढूँढना आसान।

आम गलतियाँ

  • Controller या View में SQL डालना। Database code सिर्फ़ Model में।
  • View में भारी logic। Views को ज़्यादातर दिखाना चाहिए, फ़ैसला नहीं।
  • सब कुछ करता "मोटा" Controller। data काम Model में ले जाइए।
  • यह सोचना कि framework चाहिए। MVC एक pattern है जो plain PHP में लगा सकते हैं।

सारांश

  • MVC app को Model, View और Controller में बाँटता है।
  • Model = data और database; View = HTML जो user देखता है।
  • Controller = logic जो Model और View जोड़ती है।
  • Request बहती है Controller → Model → View → browser।
  • MVC बड़े projects को व्यवस्थित और maintain करने में आसान रखता है।

आगे, classes साफ़ load कीजिए autoloading से, या उन्हें व्यवस्थित कीजिए namespaces से।

अक्सर पूछे जाने वाले प्रश्न (FAQ)

MVC का पूरा नाम क्या है?
MVC यानी Model, View, Controller — तीन हिस्से जो app को ज़िम्मेदारी से बाँटते हैं। Model data संभालता है, View जो user देखता है, और Controller वो logic जो इन्हें जोड़ती है।
हर MVC हिस्से का काम क्या है?
Model database से बात करता है और data नियम रखता है। View वो HTML है जो user देखता है। Controller request पाता है, Model से data माँगता है, और दिखाने को View चुनता है। हर हिस्से का एक साफ़ काम है।
सब कुछ मिलाने के बजाय MVC क्यों इस्तेमाल करें?
एक file में SQL, logic और HTML मिलाना गंदा और बदलना मुश्किल हो जाता है। MVC इन्हें अलग करता है ताकि आप database code छुए बिना layout बदल सकें, और उल्टा भी। यह बड़े projects को maintainable बनाता है।
क्या MVC इस्तेमाल करने को framework चाहिए?
नहीं। MVC एक pattern है, tool नहीं — आप plain PHP को models, views और controllers में खुद व्यवस्थित कर सकते हैं। Laravel जैसे frameworks बस तैयार MVC structure और helpers देते हैं।
MVC में database code कहाँ जाता है?
Model में। Model ही एकमात्र हिस्सा है जो database से बात करता है। Controllers Model से data माँगते हैं और कभी सीधे SQL नहीं चलाते, जो data logic एक जगह रखता है।
← Back to PHP Tutorial
🔗

Share this topic with a friend

यह topic किसी दोस्त को भेजें

Found it useful? Send it to a classmate learning the same thing.

अच्छा लगा? जो दोस्त यही सीख रहा है, उसे भेज दीजिए।

💻 लाइव कोड एडिटर

इस पेज के प्रोग्राम यहीं तैयार हैं — चलाएँ, बदलें और सीखें। कुछ भी इंस्टॉल किए बिना।
OneCompiler द्वारा संचालित। कोड एडिटर में अपने आप आ जाता है — Run दबाकर आउटपुट देखें। अगर एडिटर न खुले तो नए टैब में खोलें.
अगला topicLogin & Registration System आपकी प्रगति: 39 / 50 (78%) · Lesson 40 / 50 आगे बढ़ें →

यह lesson कैसा लगा?

आपकी राय से हम content और बेहतर बनाते हैं।

अपना review और सुझाव लिखें (वैकल्पिक)

Review approve होने के बाद आपका नाम और शहर इसके साथ public दिख सकते हैं। Email या phone न लिखें।

▶ CodingEasily on YouTube

Video से सीखें – आसान Hindi में

चुनी हुई video: RDBMS भाग 3 – Class XI Commerce IT

▶ Channel subscribe करें