एक ज़िप "PHP चौखटे" के आसपास है। और उनमें से अधिकांश एमवीसी पैटर्न का पालन करते हुए खुद को बिल करते हैं । हालांकि यह ऑक्सकाम कोडिंग स्टाइल (एसक्यूएल और एचटीएमएल के साथ भारी तर्क-वितर्क करने वाला तर्क) पर काबू पाने के लिए स्वागत योग्य है, एक निश्चित अनुप्रयोग डिज़ाइन प्राप्त करने के लिए दृष्टिकोण का पालन करना निश्चित रूप से सरल और आसान है।
मूल एमवीसी अवधारणा को जीयूआई अनुप्रयोगों पर लक्षित किया गया था। और Gtk / Python के लिए इसके अनुसार इसका पालन करना संभव है। लेकिन PHP वेब ऐप लाइव व्यूज़ (GUI एलिमेंट्स) और लगातार कंट्रोलर रनटाइम पर काम नहीं करते हैं। यह निश्चित रूप से एक मिथ्या नाम है अगर यह सिर्फ इस्तेमाल किया कोड + निर्देशिका समूह या नामकरण का वर्णन करता है।
"MVC" PHP चौखटे के लिए एक चर्चा की तरह इस्तेमाल किया जा रहा है। और मैंने वास्तव में एक या दो परिपक्व PHP फ्रेमवर्क को देखा है, लेकिन इंटर्न से मिलान करने के लिए वैसे भी वाक्यांश को फिर से परिभाषित करना।
तो क्या यह आम तौर पर साँप का तेल है? बेहतर शब्दावली का उपयोग क्यों नहीं किया जाता है, और बनाए रखने योग्य PHP के लिए एक अधिक समझदार अवधारणा का प्रचार किया जाता है?
कुछ विस्तृत तर्क
मुझे संदेह है कि PHP कार्यान्वयन वास्तविक MVC पैटर्न का पालन नहीं करता है:
मॉडल : सिद्धांत रूप में, मॉडल मोटा होना चाहिए और इसमें व्यावसायिक तर्क शामिल होने चाहिए, और नियंत्रकों को पतले हैंडलर (इनपुट-> आउटपुट) होने चाहिए। वास्तव में PHP चौखटे उथले मॉडल की वकालत करती है । उदाहरण के लिए CI और सिम्फनी समान मॉडल == ORM। यहां तक कि HTTP इनपुट नियंत्रक द्वारा नियंत्रित किया जाता है, मॉडल के रूप में नहीं माना जाता है।
दृश्य : AJAX के साथ वर्कअराउंड छूट, वेब पृष्ठों पर दृश्य नहीं हो सकते। PHP फ्रेमवर्क अभी भी पेजों को पंप करता है। इंटरफ़ेस अभी भी प्रभावी रूप से साधारण HTTP मॉडल का अनुसरण करता है, गैर-एमवीसी अनुप्रयोगों पर कोई लाभ नहीं है। (और अंत में, व्यापक php चौखटे में से कोई भी तथ्यात्मक रूप से HTML के बजाय GUI दृश्य में आउटपुट कर सकता है। मैंने एक PHP लाइब्रेरी देखी है जो Gtk / Console / Web को संचालित कर सकती है, लेकिन चौखटे नहीं।)
नियंत्रक : मैं अनिश्चित हूँ। नियंत्रकों को संभवतः एमवीसी मॉडल में लंबे समय तक चलने और लगातार सक्रिय रहने की आवश्यकता नहीं है। PHP फ्रेमवर्क संदर्भ में, वे हालांकि ज्यादातर हैंडलर का अनुरोध करते हैं। नहीं वास्तव में कुछ के बारे में बहस करने के लिए, लेकिन यह सिर्फ थोड़ा buzzwordish लगता है।
क्या बेहतर वर्णनकर्ता होंगे? मैंने पीएमवीसी या एचएमवीसी जैसे समनुक्रमों को देखा है। हालाँकि वर्णन अधिक अस्पष्ट हैं, लेकिन शायद ये वर्तमान वेब फ्रेमवर्क को कम खोखला बताते हैं?