तो मैं ऑब्जेक्ट ओरिएंटेड PHP के माध्यम से एक सीएमएस, गैलरी स्क्रिप्ट बना रहा हूं। वैसे भी, समस्या यह है कि मेरे पास ऑब्जेक्ट्स के लिए बुनियादी लेआउट है और इस बिंदु पर जहां मुझे एक साथ डालने की ज़रूरत है, मैं इसे कैसे करना चाहता हूं।कोई सीएमएस की संरचना कैसे करता है?
मेरे पास जो अनिवार्य रूप से एक नेविगेशन, डेटा, गैलरी और मॉड्यूल क्लास है। मॉड्यूल पृष्ठों, श्रेणियों, और cetera के लिए खड़ा है। समस्या यह है कि गैलरी छवियों को आउटपुट करता है, मॉड्यूल पृष्ठों के लिए डेटा देता है, नेविगेशन (आपको लगता है) नेविगेशन बनाता है। आपको चित्र मिल जाएगा।
सूचकांक पृष्ठ पर, मैं अंत में अनिवार्य रूप से कर रही है इस (यह परिवर्तन होगा, लेकिन यह कैसे मैं इसे सेट अप करने के लिए शुरू हो गया था के लिए उदाहरण है):
$navigation = new Navigation();
$navigation->top();
$page = new Module();
$page->basicPage($_GET['m']);
basicPage() में कुछ काम करता है , लेकिन मुख्य रूप से यह मुद्दा है:
$gallery = new Gallery();
$gallery->setGallery($id);
$gallery->thumbGallery();
तो आगे।
समस्या तब उत्पन्न होती है जब मैं मूल पृष्ठ(), डिजाइनर या जो भी विकल्पों पर बहुत कम नियंत्रण रखता है। जैसा कि आपने देखा, यह थंब गैलरी है, और यह पूर्ण छवियों की अनुमति नहीं देता है, और यह आपको थंबनेल का आकार भी सेट नहीं करने देता है (जिसे मैं उन्हें करने देता हूं, केवल तभी जब वे उन्हें स्वयं को फ़ंक्शन कर सकते हैं) ।
तो मैंने समस्या के कुछ समाधानों के बारे में सोचा। मेरे पास ये मूल पृष्ठ नहीं हैं, लेकिन मेरे पास डिज़ाइनर वर्डप्रेस की तरह टेम्पलेट्स का निर्माण करते हैं। मैं इस समाधान को नापसंद करता हूं, क्योंकि यह पूरी तरह से यद्यपि डिजाइन प्रक्रिया जटिल बनाता है। मैं इसे बनाना नहीं चाहता हूं ताकि सब कुछ नियंत्रित हो, और एक तरीका है। बेशक आप डिज़ाइनर और कुछ अन्य चाल के रूप में तत्वों को "प्रदर्शित: कोई नहीं" कर सकते हैं, लेकिन मैं चाहता हूं कि वर्डप्रेस द्वारा जटिल तरीके के बिना, उन्हें बहुत सी चीजें करने की क्षमता हो।
मेरा सवाल यह है कि मैं सरल और लचीलापन के बीच संतुलन को कैसे रोकूं?
कोई भी मदद, यहां तक कि विचारों की भी सराहना की जाती है। धन्यवाद।
संपादित करें: मैं उल्लेख करना भूल गया। समस्या यह है कि इंडेक्स में यह सब डेटा है, अन्यथा मुझे बहुत कुछ करना होगा/और ऐसा, और मैं वास्तव में इसे एक प्रक्रियात्मक कार्यक्रम नहीं बनाना चाहता था, केवल एक जिसे आप अनिवार्य रूप से केवल प्लॉप कर सकते हैं सामान नीचे और हम अच्छे हैं। देखें, मॉड्यूल गैलरी और पेज दोनों के लिए खड़ा है। अधिकांश पृष्ठों में इसके साथ संलग्न छवियां नहीं होंगी, और श्रेणियों में छवियां होंगी, लेकिन हमेशा टेक्स्ट नहीं। अगर मैं thumbGallery को कॉल करता हूं तो यह एक त्रुटि उत्पन्न करेगा और यह सिर्फ एक सूचनात्मक पृष्ठ है, और यदि मैं एक सूचनात्मक पृष्ठ कहता हूं और यह एक श्रेणी है, तो यह छवियों (त्रुटि से बचने के लिए) नहीं दिखाएगा। मैं मूल पृष्ठ कहलाता हूं, और इसे एक साथ बनाना शुरू कर सकता हूं, लेकिन जैसा कि मैंने पहले उल्लेख किया था, यह यह है कि यह डिजाइन करता है कि डिजाइनर को PHP के साथ गड़बड़ करने के बिना कितनी आजादी है, और अधिकांश डिजाइनर बहुत सुन्दर हैं जब यह आता है दुर्भाग्य से PHP करने के लिए। आकस्मिक रूप से ओओपी (कोई अपराध नहीं। मैं भी एक डिजाइनर हूं, लेकिन मैं भी कार्यक्रम करता हूं)।
[फ्रंट कंट्रोलर] (http://martinfowler.com/eaaCatalog/frontController.html) डिज़ाइन पैटर्न पर नज़र डालें। – Smurf64