2013-06-05 5 views
5

मैंने जेएनईडी, कोडइग्निटर, केकेपीएचपी आदि जैसे PHP ढांचे के बारे में बहुत कुछ सुना है और मैं इसका उपयोग करने के कुछ फायदों के बारे में भी अच्छी तरह से अवगत हूं यानी उत्पादकता में वृद्धि, कम त्रुटियां इत्यादि। लेकिन PHP फ्रेमवर्क कोडिंग को नहीं बनाता है जटिल प्रक्रिया ? फ्रेमवर्क के बिना कोडिंग नहीं करता है और अधिक लचीलापन प्रदान करता है? कुछ लोग कहते हैं कि आपको किसी भी अतिरिक्त ढांचे की आवश्यकता नहीं है, क्योंकि PHP स्वयं ही एक ढांचा है।PHP ढांचे के लाभ

तो PHP ढांचे का इतना उपयोग क्यों है? PHP में वास्तव में आवश्यक ढांचे हैं?

+0

दिन के अंत में ये ढांचे उपकरण हैं। कभी-कभी वे नौकरी के लिए सही उपकरण हैं ... कभी-कभी वे नहीं होते हैं। – Orangepill

उत्तर

6

क्या PHP फ्रेमवर्क जटिल प्रक्रिया को कोडिंग नहीं करता है?

यह निर्भर करता है कि आप क्या करना चाहते हैं। यदि आप जो कुछ भी कर रहे हैं, वह साइट के लिए मूल संपर्क फ़ॉर्म बना रहा है जो सभी स्थिर HTML है, तो हाँ एक ढांचे का उपयोग करके यह एक और जटिल प्रक्रिया बन जाएगा। दूसरी तरफ यदि आप बड़े पैमाने पर ऐप बना रहे हैं तो फ्रेमवर्क का उपयोग करने से यह अधिक जटिल नहीं होगा।

ढांचे के बिना कोडिंग कोडिंग अधिक लचीलापन प्रदान करता है?

यह ढांचे पर निर्भर करता है, वे सभी समान नहीं हैं। स्लिम या कोडिग्निटर जैसे कुछ ढांचे को बहुत कम किया जाता है और रास्ते में नहीं मिलता है और इसलिए वास्तव में लचीलापन पर असर नहीं पड़ता है, कुछ सिम्फनी 2/ज़ेंड जैसे अधिक जटिल होते हैं।

कुछ लोग कहते हैं कि आपको किसी भी अतिरिक्त ढांचे की आवश्यकता नहीं है, क्योंकि PHP स्वयं ही एक ढांचा है।

वे सही हैं, तकनीकी रूप से आपको ढांचे की आवश्यकता नहीं है, आप सादे PHP के साथ कुछ भी कर सकते हैं जिसे आप ढांचे के साथ कर सकते हैं। फ्रेमवर्क वास्तव में डेवलपर्स से कार्यों और सहायक कोड के व्यक्तिगत अभिलेखागार से विकसित हुए हैं। PHP अपेक्षाकृत निम्न स्तर हो सकता है कि इसमें आपके पास आवश्यक सब कुछ करने के लिए तैयार किए गए फ़ंक्शन नहीं हैं। ढांचे से पहले, डेवलपर्स के पास अपने स्वयं के सहायक कोड का सेट था जो कई परियोजनाओं पर पुन: उपयोग किया जाएगा। फ्रेमवर्क अभी भी अनिवार्य रूप से हैं, सिवाय इसके कि वे सहयोगी परियोजनाएं हैं जो सैकड़ों या हजारों डेवलपर्स योगदान देते हैं।

ढांचे का एक अन्य लाभ यह है कि यदि आपके पास कई डेवलपर्स हैं, और किसी ने एक एप्लीकेशन विकसित किया है और आप चाहते हैं कि कोई अन्य डेवलपर इसमें योगदान दे या इसे ले ले, तो यदि डेवलपर उस ढांचे से परिचित है जिसे वह इस्तेमाल कर सकता था ऐप पर तेज़ी से बढ़ने की तुलना में बहुत तेज़ हो जाएं, अगर यह सादे PHP में लिखा गया हो। ढांचे के बिना, नए डेवलपर को किसी भी नई कार्यक्षमता को जोड़ने के लिए शुरू करने से पहले पिछले डेवलपर्स सिस्टम को समझना होगा।

2

क्या वे PHP में आवश्यक हैं?

नहीं, वे नहीं हैं, सुनिश्चित करें कि फ्रेमवर्क के बिना कुछ भी कोड करना संभव है। लेकिन यह अधिक काम है, यह इस तरह है: मैं सी का उपयोग क्यों कर रहा हूं जब मैं असेंबलर लिखकर ऐसा कर सकता हूं?

तो PHP ढांचे का इतना उपयोग क्यों है?

ढांचे का उपयोग करने के लाभ यह है कि आप कई पूर्वनिर्धारित चीजों का उपयोग कर सकते हैं। उदाहरण के लिए, अधिकांश PHP ढांचे में आप एमवीसी पैटर्न का उपयोग कर सकते हैं। निश्चित रूप से आप फ्लैट पीएचपी के साथ अपनी खुद की एमवीसी संरचना भी बना सकते हैं, लेकिन यह हर बार पहिया को पुन: आविष्कार करने जैसा है। केवल एक चीज है, यदि आपके पास बहुत विशिष्ट आवश्यकताएं हैं, तो आप ढांचे का उपयोग नहीं कर सकते/चाहिए, लेकिन ज्यादातर मामलों में आवश्यकताएं विशिष्ट नहीं हैं।

एमवीसी के साथ बिंदु केवल बहुत लाभों में से एक है। आप जिस ढांचे का उपयोग करना चाहते हैं उसके आधार पर, विशिष्ट लाभ हैं।

तो, यह आपके जैसा ही है। एक ढांचे का उपयोग करके आप समय बचा सकते हैं, क्योंकि आपको पहले से मौजूद सभी चीजों का पुन: आविष्कार करने की आवश्यकता नहीं है।

आप उपकरण के रूप में एक फ़्रेमवर्क देख सकते हैं, जो आपको बेहतर और तेज़ विकसित करने में मदद करता है।

संपादित करें: तरह Ayesh कश्मीर उसकी टिप्पणी में उल्लेख किया है, यह भी एक लाभ यह है कि एक रूपरेखा कई विशेषज्ञों द्वारा विकसित की है है,, तो यह सामान्य रूप से बेहतर कोड है, सिद्धांत का पालन: 'चार आंखें दो से अधिक देखना' ।

+2

हालांकि यह उत्तर चीजों को पुनर्विचार करने पर केंद्रित है, लेकिन यह भी उल्लेख करना अच्छा है कि प्रत्येक आला में कई विशेषज्ञों द्वारा ढांचे का विकास किया जाता है ताकि आप बेहतर कोड प्राप्त कर सकें जो आप (आमतौर पर) कोड करते हैं। –

6

यह एक व्यापक सवाल है और मैं एक महत्वपूर्ण लगता है। मैं पूरी तरह से आवश्यक होने तक ढांचे का उपयोग न करने के शिविर में हूं। सवाल यह है कि, यह कब आवश्यक है?

सबसे पहले, मुझे लगता है कि मुझे यह अजीब बात है, ढांचे के लिए एलर्जी प्रतिक्रिया यह है कि अनुभवहीन कोडर उन्हें सब कुछ, यहां तक ​​कि छोटी साइटों के लिए भी उपयोग करना चाहते हैं .... और यह विचित्र है। हो सकता है कि कुछ लोगों ने यह कहकर बड़ा प्रदर्शन किया हो कि उन्होंने कोडिनेटर का उपयोग किया है- लेकिन मेरे अनुभव में जो एक अंतर का थोड़ा सा हिस्सा नहीं बनाते हैं। भर्ती प्रबंधकों को स्किलीट्स चाहिए, कोई ऐसा नहीं जो एपीआई दस्तावेज पढ़ सकता है- जो कोई भी कर सकता है। यदि आपके पास प्रोग्राम आर्किटेक्चर और ओओपी सिद्धांतों के बारे में ज्ञान है, तो आपको किराए पर लिया जाता है। यदि आप नहीं करते हैं, लेकिन आप एक कोडिनेटर निंजा हैं, .... eeehhhh .... ठीक है?

फ़्रेमवर्क उनके उपयोग है, लेकिन मैं जब अपनी माँ उसे सेंकना बिक्री के लिए एक वेबसाइट है तो आप सिर्फ एक साथ एक बहुत हल्के वजन प्रणाली का उपयोग कर एक पेज तमाचा कर सकते हैं बनाना चाहता है लगता है। मैं इस विश्वास के शिविर में नहीं बैठता कि आपको "यदि आपको इसकी आवश्यकता हो तो कोड" शामिल होना चाहिए। समय के साथ, मैं अपने खुद के रूपरेखा है कि पूरी तरह से छोटे है, जो विकास किया है यही कारण है कि हर एक वेब साइट या आवेदन मैं है कभी भी बनाया शीर्ष 2% में (हालांकि आम तौर पर शीर्ष 1%) पृष्ठ लोड समय की दुनिया में गूगल द्वारा स्थान दिया गया है ।

यह कहना नहीं है कि वे खराब हैं- केवल ढांचे का उपयोग करने के लिए दौड़ना न करें क्योंकि आप इसे अपने रेज़्यूमे पर रखना चाहते हैं- आप वास्तव में लंबे समय तक पैर में खुद को शूटिंग कर रहे हैं। क्यूं कर? क्योंकि आप भाषा का उपयोग करके समय नहीं व्यतीत करेंगे, आप ढांचे की भाषा का उपयोग करके समय व्यतीत करेंगे। उदाहरण के लिए jQuery ले लो- मैंने इसे साल के लिए टाला क्योंकि यह जावास्क्रिप्ट नहीं था। लोग है- मजाक उड़ाया लेकिन अब, मैं पूछे जाते है जब मैं एक तकनीकी साक्षात्कार करने के लिए जाने के लिए और (अनिवार्य रूप से): "jQuery साथ आपके अनुभव के स्तर क्या है", और मैं कहता हूँ "काफी नहीं", और वे के लिए एक दूसरे देखो हैरान है, लेकिन तो मैं इसका पालन करता हूं "लेकिन मैंने कल देशी जेएस में नियंत्रण के उलटा होने के माध्यम से निर्भरता इंजेक्शन लिखा था" - मुझे स्पॉट पर किराए पर लिया जाता है।

फ़्रेमवर्क महान हैं। बस खुद से पूछें कि क्या आपको वास्तव में उनकी आवश्यकता है। विशेष रूप से सवाल यह है: क्या फ्रेमवर्क के समय लाभ (मंच के सीखने की अवस्था के बारे में मत भूलना) से खुद को कोडिंग करने के लाभ हैं? एक ओर (गैर ढांचा दृष्टिकोण) पर, आप बहुत कुछ सीख, और शायद आप अधिक समय लग क्योंकि आप अपने खुद के kinks- बाहर काम कर रहे हैं, लेकिन आप अपने आप (इस मामले में PHP) भाषा के बारे में एक टन सीखा है। दूसरी तरफ, आपने एक नया ढांचा सीखा और शायद साइट को तेज कर दिया गया है कि अधिकतर धीमा है।

वर्डप्रेस मेरी राय में एक अतिव्यापी ढांचे का एक बड़ा उदाहरण है। मेरे फ्रीलान्सिंग दिनों में मैं उन गीग्स पर ले जाता था जिनके लिए मुझे "वर्डप्रेस साइट को दोबारा संशोधित करने" की आवश्यकता होती थी - केवल उस साइट को खोजने के लिए जो मुश्किल से लोड हो सकता था क्योंकि किसी ने जो भी प्लगइन खोजा था उसे जोड़ा और बेवकूफ सरल साइट क्या बनाया अनगिनत treads के साथ एक टैंक में। उस मामले में यह ओवरकिल है।

सीटीओ और टेक लीड पदों में अपने अनुभव के साथ, जब कोई वर्डप्रेस और jQuery को अपने रेज़्यूमे पर प्राथमिक बिंदुओं के रूप में रखता है, तो कहता है, "मुझे ओओपी के बारे में कुछ नहीं पता है और यदि आवश्यक हो तो इन भाषाओं का उपयोग कैसे करें" जो, असली दुनिया में (और मैं विंडोज 8 और उस परिमाण की अन्य परियोजनाओं जैसे विशाल परियोजनाओं पर काम करता हूं) - मामले को बंद कर दिया गया है। माइक्रोसॉफ्ट ने एमएस जारी उत्पादों के लिए अपने मेट्रो ऐप सिस्टम में jQuery के उपयोग को स्पष्ट रूप से मना कर दिया क्योंकि वे अपनी सिस्टम निर्भरता को मुक्त करना चाहते हैं।

हालांकि, अन्य कंपनियां ढांचे का उपयोग करती हैं। मैंने अभी फाउंडेशन का उपयोग करके एक परियोजना बंद कर दी है और यह अद्भुत था- लेकिन ऐसा इसलिए है क्योंकि परियोजना के वास्तुकार ने ढांचे की पूरी तरह से शोध किया और हमने इसका अधिकार सही इस्तेमाल किया। नतीजा पूरी तरह उत्तरदायी प्रिस्टिन कोड बेस था जो पूर्ण मॉनिटर महिमा से ट्रिस्किट आकार के स्मार्टफोन स्क्रीन उत्कृष्टता तक चला गया।

संक्षेप में:

फ़्रेमवर्क, जब सही इस्तेमाल किया, विशेष रूप से बड़ी परियोजनाओं के लिए awesome- हो सकता है (और मैं उद्यम बड़ी बात कर रहा हूँ)। छोटी परियोजनाओं के लिए वे जरूरी नहीं हैं- लेकिन जब उनका उपयोग उनके कार्यान्वयन के बारे में सोचने के बिना किया जाता है, तो यह एक स्केलपेल के लिए एक हैचेट का उपयोग करने जैसा होता है।

बस मेरे 2 सेंट।

+2

दिलचस्प पोस्ट, लेकिन यह विशेष रूप से मेरी आंख को पकड़ा: _ मैंने अपना खुद का ढांचा विकसित किया है। सामान्य (और मेरे दृश्य में सही) प्रतिक्रिया जहां यहां एक प्रश्न में यह वाक्यांश दिखाई देता है, नहीं! ऐसा मत करो! दुनिया को किसी और की जरूरत नहीं है! आदि (हम इसे अक्सर यहां देखते हैं)। जबकि ऐसा लगता है कि आप जानते हैं कि आप क्या कर रहे हैं, ओपी को पता होना चाहिए कि, समय के साथ, किसी की "व्यक्तिगत लाइब्रेरी" अनिवार्य रूप से _ ढीला_ फ्रेमवर्क करती है, सिवाय इसके कि इसमें कई विशेषताएं नहीं हैं, यह केवल परीक्षण नहीं है, और केवल दुनिया में कुछ देवताओं से परिचित हैं। – halfer

+0

अब यह कहने का एक अच्छा संक्षिप्त तरीका है- इस तरह की एक व्यापक प्रतिक्रिया लिखने से आप इस तरह के छोटे विवरण छोड़ सकते हैं और मुझे लगता है कि यह एक महत्वपूर्ण भेद है। इसके लिए धन्यवाद क्योंकि "यह एक ढांचा बन गया है" मूल रूप से मैं वहां क्या कहना चाहता था- आप अपने इच्छित टूल बनाते हैं और उन्हें शामिल/बहिष्कृत कर सकते हैं क्योंकि आप जानते हैं कि वे मौजूद हैं, जबकि बड़े ढांचे के साथ दोष का हिस्सा शायद आप नहीं हैं जानें कि "चीज़ों को छोड़ दें" जो आवश्यक नहीं हैं। धन्यवाद! – dudewad

+0

तथ्य यह है कि इन पदों को कम किया गया है मेरे लिए अजीब है। ये राय के टुकड़े हैं, लोग क्यों कमजोर हो रहे हैं? – dudewad

संबंधित मुद्दे