मैं अपने पहले कभी भी PHP परियोजना पर काम शुरू करने वाला हूं - एक छोटे से गैर-लाभकारी संगठन के लिए एक नई वेबसाइट बनाना। नेट और जावा पृष्ठभूमि से आ रहा है, ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग मेरे लिए बहुत स्वाभाविक रूप से आती है, लेकिन मुझे यकीन नहीं है कि PHP में मध्यम जटिलता की वेबसाइट को बुल्ड करने के लिए यह सही दृष्टिकोण है या नहीं। मेरी समझ यह है कि अधिकांश PHP- आधारित साइटें ज्यादातर गैर-ओओ कोड में लिखी जाती हैं।ओओ या प्रक्रियात्मक PHP?
एक वेब आवेदन मैं निश्चित रूप से ओओ-मार्ग पर जाऊंगा, लेकिन काफी सरल वेबसाइट के लिए, मुझे पूरा यकीन नहीं है। इस साइट में प्रति अनुभाग एक से चार सामग्री पृष्ठों के साथ लगभग पांच खंड होंगे, जिसमें लेख, समाचार, छवि दीर्घाएं और कुछ रूप शामिल हैं। इसमें कोई जटिल बातचीत नहीं है (लेख लिखने, टिप्पणियों, पंजीकरण आदि के लिए कुछ काफी सरल वेब रूपों को छोड़कर), और राज्य को बनाए रखने की कोई आवश्यकता नहीं है (लॉग इन को छोड़कर)। MySQL डेटा संग्रहण के लिए उपयोग किया जाएगा।
कोड को वास्तव में विशेष रूप से एक्स्टेंसिबल होने की आवश्यकता नहीं है - यह एक एंटरप्राइज़ वेबसाइट या टेम्पलेटिंग इंजन नहीं है जिसके बारे में हम बात कर रहे हैं - लेकिन यह महत्वपूर्ण है कि प्रोग्रामर के लिए कोड को समझना काफी आसान हो PHP अनुभव की एक सभ्य राशि के साथ। मुझे लगता है कि अधिकांश PHP प्रोग्रामर ओओ-कोड के लिए उपयोग नहीं किए जाते हैं, तो शायद यह प्रक्रियात्मक कोड के पक्ष में एक बिंदु है?
ओओ के पक्ष में एक पहलू यह है कि डेटाबेस स्तर में, विभिन्न गुणों वाले सुपरर्ट टाइप के आधार पर विभिन्न प्रकार के लेख होंगे, जो निश्चित रूप से ओओ-कोड के लिए बहुत स्वाभाविक रूप से स्थानांतरित होते हैं।
शायद "व्यापार वस्तुओं" का प्रतिनिधित्व करने के लिए वस्तुओं का उपयोग करके, कुछ प्रकार का संकर दृष्टिकोण सबसे अच्छा होगा, लेकिन पारंपरिक, प्रक्रियात्मक कोड का उपयोग करके HTML आदि को प्रस्तुत करना?
टिप्पणियों की बहुत सराहना की गई। - रॉल्फ
निश्चित रूप से ओओ के साथ जाएं। PHP 1 99 5 (डी) के बाद से एक लंबा सफर तय कर चुका है और अब यह प्रक्रियात्मक प्रक्रियाओं पर ओओ को प्रोत्साहित करता है। इसके अलावा, अधिकांश PHP प्रोग्रामर ओओ के साथ अच्छी तरह से जानते हैं (हालांकि आजकल PHP4 के आधार पर आपको विरासत PHP अनुप्रयोगों में बहुत से प्रक्रियात्मक कोड मिलेंगे)। वेबसाइटों और वेब अनुप्रयोगों को तेजी से विकसित करने के लिए मैं एक ढांचे का उपयोग करने की सलाह देता हूं। बहुत सारे परिपक्व मजबूत PHP ढांचे (ज़ेंड, सिम्फनी) हैं जो मूल रूप से डिजाइन पैटर्न (एमवीसी!) के बहुमत को लागू करते हैं ताकि यह आपको बहुत समय बचा सके। मेरा पसंदीदा ज़ेंड फ्रेमवर्क है लेकिन मुझे सिम्फनी भी पसंद है। वील को फिर से शुरू करने की कोई जरूरत नहीं है। –
सभी उत्तरों के लिए धन्यवाद दोस्तों! ऐसा लगता है कि ओओपी के साथ जाने के लिए जीनियल राय है, जो मेरे द्वारा ठीक है क्योंकि मैं एएसपी.Net से आ रहा हूं। मैं शायद मौजूदा ढांचे में से एक के माध्यम से संभवतः एमवीसी का उपयोग करूंगा। Php.MVC को बहुत देख रहे थे - किसी के पास इसका अनुभव है? – Rolf
उन लोगों के लिए अनुपूरक जो समान दुविधा हैं: मैंने ओओपी जाने का फैसला किया, और जीवन को थोड़ा आसान बनाने के लिए एक PHP-ढांचे का उपयोग किया।बहुत से शोध के बाद, मैंने अंततः ** वाईआई फ्रेमवर्क ** ([लिंक] (http://www.yiiframework.com) के साथ जाने का फैसला किया), क्योंकि यह सबसे अधिक "पूरी तरह से ओओपी" PHP ढांचे में से एक प्रतीत होता है वहाँ से बाहर। – Rolf