यह मेरे लिए लगता है कि आप को लागू करने के लिए क्या के रूप में अपने आवेदन आम तौर पर भर में "चिंताओं की जुदाई" में जाना जाता है शुरू करने के लिए की जरूरत है। उदाहरण कोड लोग आपके कोड को तोड़ने वाले पेज संपादकों के बारे में आपकी विशिष्ट शिकायत के जवाब में टेम्पलेटिंग के बारे में बताते हैं, लेकिन महत्वपूर्ण हैं, लेकिन इस रणनीति के केवल एक उदाहरण का प्रतिनिधित्व करते हैं। चूंकि आपका प्रोग्राम बड़ा और अधिक जटिल हो जाता है, इसलिए इसे संशोधित करना और डीबग करना मुश्किल हो जाता है - भले ही आपका डिज़ाइनर आपके कोड को तोड़ नहीं रहा हो।
शायद सबसे आम जुदाई डेटा, तर्क और प्रस्तुति डिज़ाइन पैटर्न मॉडल-व्यू-नियंत्रक (MVC) में वर्णित के रूप के बीच एक तीन तरह से विभाजित है। समान बुनियादी सिद्धांतों को लागू करने के लिए आपको एक पूर्ण उड़ा MVC ढांचे की आवश्यकता नहीं है। यह विचार केवल एक कोड में आपके डेटा (मॉडल) से संबंधित कोड को समाहित करने के लिए है, वह कोड जो इस डेटा को उपयोगकर्ता (दृश्य) में दूसरे में प्रस्तुत करता है। आप उस कोड को कोड के साथ एक साथ जोड़ते हैं जो सही समय पर सही उपयोगकर्ता को सही समय (नियंत्रक) पर सही डेटा पेश करने से संबंधित है।
आपके विवरण से, ऐसा लगता है कि आपके पास अभी Transaction Script पैटर्न है, जहां आपके पास ब्राउज़र में लोड की गई एक php फ़ाइल "doesis.php" है, और प्रदर्शन के लिए सभी फ़ंक्शन परिभाषाएं और HTML एक साथ हैं । आपके पास पहले से ही फ़ंक्शन हैं, इसलिए आप तर्क के टुकड़ों को समाहित करना शुरू कर चुके हैं।
जिस तरह से मैं यह दृष्टिकोण दूंगा, वह टेम्पलेटिंग के बारे में अन्य उत्तरों को ध्यान में रखते हुए, सभी HTML को किसी अन्य फ़ाइल में केवल सरल PHP चर का संदर्भ दे सकता है और शायद कुछ लूप (लेकिन आपके जैसे छोटे सशर्त स्विचिंग के रूप में कर सकते हैं)। इससे टेम्पलेट को पढ़ने में आसान और ब्रेक करना मुश्किल हो जाएगा। जब आपका पृष्ठ संपादक लेआउट को संशोधित करना चाहता है, तो उन्हें वह फ़ाइल दें।
फिर आप आदर्श रूप से एक वर्ग बनाने एक और फाइल करने के लिए अपने डेटा का उपयोग सभी कार्यों के अलग, (या कई वर्गों कैसे जटिल अपने डेटा है और आप इसका कितनी बार पुन: उपयोग करने की आवश्यकता है के आधार पर)।
इस बिंदु पर आपका "doesis.php" कुछ कॉन्फ़िगरेशन कोड (जिसे आप शामिल करने के लिए अलग कर सकते हैं, और कुछ प्रमाणीकरण कोड (जिसे आप अपनी कक्षा में अलग कर सकते हैं) पर छीन लिया गया है, और है केवल डेटा एक्सेस फ़ंक्शंस को कॉल करना और शामिल टेम्पलेट फ़ाइल को कॉल करना।
स्रोत
2008-09-04 14:53:27
डिजाइनर अभी भी कुछ भी पेंच कर सकते हैं, जब तक आप जगह में कुछ उपाय है। जबकि मुझे विशेष रूप से Smarty पसंद नहीं है, तो फ़ंक्शन या पूरी तरह से PHP उपयोग फ़ंक्शन को प्रतिबंधित करने की इसकी क्षमता एक अच्छा उदाहरण है। लेकिन यह सच है कि यदि आप डिज़ाइन को अलग करते हैं तो कम से कम डिज़ाइनर का काम आसान होगा। –