आपने एक बहुत ही रोचक और मौलिक प्रश्न उठाया। बड़े पैमाने पर परियोजना वास्तुकला और फ़ोल्डर संरचना संगठन (जो वास्तुकला के लिए माध्यमिक है) से संबंधित प्रश्न।
आज सीएमएस फ्रेमवर्क वास्तुकला का निर्माण करने के लिए सबसे आम दृष्टिकोण एमवीसी पैटर्न का उपयोग है। अपने स्वयं के MVC फ्रेमवर्क बनाने के बारे में कुछ अच्छे लेख हैं, उनमें से एक PHP के साथ एक MVC फ्रेमवर्क है ।
एमवीसी का अर्थ है मॉडल, व्यू, कंट्रोलर। आप इन दृष्टिकोणों को कॉल कर सकते हैं जो आपको पसंद हैं - एमवीसी, एचएमवीसी, एमवीपी। सार आपके सिस्टम के व्यक्तिगत घटकों को अलग करना है। "नियंत्रक" "मॉडल" से डेटा को पुनर्प्राप्त करता है और उन्हें "व्यू" पर भेजता है, जो अंतिम HTML का प्रतिपादन करता है। आप पहले से ही अपने में "वी" और अपने में contacts.php
"एमसी" लागू कर चुके हैं contacts_class.php
। तो आपने मॉडल और नियंत्रक से दृश्य को अलग कर दिया है। अब आप आसानी से अन्य भागों को छोड़कर अपना "दृश्य" बदल सकते हैं।
मैं आपको एमवीसी, एमवीपी या जो भी "एमवी" पैटर्न का आँख बंद करके अनुसरण करने का सुझाव नहीं दे रहा हूं। यह उपयुक्तता, प्रभावकारिता और स्वाद की बात है।
आम डायनेमिक वेबसाइट एप्लिकेशन में ऐसे घटक शामिल हो सकते हैं जैसे:
- प्रवेश बिंदु, कहते हैं
index.php
- सहायक पुस्तकालय / कक्षाएं
- अनुरोध राउटर
- मॉड्यूल, घटक या नियंत्रक
- टेम्पलेट इंजन या शायद एकल विचार
वास्तविक वेब एप्लिकेशन में ईवेंट हैंडलर, ईवेंट डिस्पैचर और हुक जैसे अन्य घटक शामिल हो सकते हैं, लेकिन ये वास्तव में बारीकियां हैं। खैर, मुझे इसे उस तरह से प्रस्तुत करने दें जैसा मैं इसे प्रस्तुत करना चाहता हूं:
सामान्य ढांचा संचालन दिनचर्या निम्नानुसार है:
- ब्राउज़र अनुरोध सीधे प्रवेश बिंदु निष्पादन योग्य / स्क्रिप्ट (
index.php
) के लिए भेजा जाता है ।
- प्रवेश बिंदु लिपि सहायक पुस्तकालयों, कक्षाओं को लोड करती है और हमारे प्रोग्रामिंग वातावरण के कुछ और आरंभीकरण करती है।
- URL अनुरोध राउटर उदाहरण के लिए दिया गया है। यह चरण 2 चरण का हिस्सा हो सकता है।
- अनुरोध राउटर URL को पार्स करता है और एक विशेष घटक, मॉड्यूल या नियंत्रक को ऑपरेशन भेजता है।
- घटक (या नियंत्रक) रूट किए गए अनुरोध को संसाधित करता है और डेटा को प्रदान किए जाने वाले दृश्य में भेजता है।
इसी प्रोजेक्ट फ़ोल्डर संरचना को आरेख में दिखाया गया है।
मैं आपको यह जांचने का सुझाव दूंगा कि अन्य ढांचे कैसे लागू किए जाते हैं। अनुशंसित सीएमएस / चौखटे के साथ शुरू करने के लिए कोडिनगर, ओपनकार्ट, जुमला 1.5 और टैंगो सीएमएस हैं।