क्या PHP में चौखटे आवश्यक हैं? [बन्द है]


9

क्या PHP में चौखटे वास्तव में आवश्यक हैं?

एक का उपयोग करने के फायदे और नुकसान क्या हैं?


2
हाल ही में इस SO पोस्ट पर दौड़ा है, जो बिना किसी फ्रेमवर्क stackoverflow.com/questions/3655145/…
मैट मोलनार

जवाबों:


17

नहीं, लेकिन वे अच्छे हैं।

पेशेवरों : कोड को स्वयं बनाने के लिए समय नहीं बचाता है। सुविधाओं, कार्यों, और डेटा संरचनाओं के असंख्य का उपयोग करें जो किसी और ने बनाया है जो आपकी परियोजना पर लागू होता है।

विपक्ष : कोड का निर्माण न करने से आपके प्रोजेक्ट के संचालन की नींव के बेहतर स्तर पर खुद को नुकसान हो सकता है।


1
लेकिन समस्या यह है कि दिन पर दिन फ्रेमवर्क के बहुत सारे हैं जो मुझे नहीं पता कि कौन सा उपयोग करना है
तैयब गुलशेर वोहरा

4
@Tayyab तुम सब उन्हें इस्तेमाल करना होगा!
अर्निस लैप्सा

1
एक फ्रेमवर्क चुनना आपके निर्णय लेने के लिए है, जो आपके आवेदन की जरूरतों और आपकी कोडिंग शैली के आधार पर है। अपने आप से भी पूछें, क्या आपको अपने स्वयं के ऐप या सीएमएस (जुमला, ड्रुपल, आदि) को रोल करने के लिए एक रूपरेखा की आवश्यकता है?
डैरेन न्यूटन

2
आपको "अज्ञात अज्ञात" के बारे में सावधान रहना होगा। यदि आप किसी फ्रेमवर्क का उपयोग नहीं करते हैं, तो कुछ सामानों के बारे में भूलने या न जानने का जोखिम जो आपके लिए हल करते हैं, बड़ा है। उदाहरण के लिए, क्या आप सीएसआरएफ हमले की रोकथाम से सही तरीके से निपट रहे हैं? आपका ऐप इस तरह की रोकथाम के बिना काम करेगा, लेकिन यह आसानी से हैक हो जाएगा। एक प्रमुख फ्रेमवर्क (उनमें से कोई भी) चुनने का मतलब है कि आपको उन सभी सामानों से लाभ होगा, जिनके बारे में वेब ऐप को खुद से चिंतित होना चाहिए, भले ही आपने इसके बारे में अभी तक नहीं सीखा हो।
जोएरी सेब्रेट्स ने

9

वेब एप्लिकेशन फ्रेमवर्क केवल उतना ही अच्छा है जितना कि आपका अनुभव उनके साथ है।

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

चौखटे का उपयोग करने में कैसे बेहतर होता है?

आपको एक मुट्ठी भगवान भयानक अनुप्रयोगों और पुनरावृति का निर्माण करना होगा। आखिरकार आप quirks का पता लगा लेंगे, और एक रूपरेखा का उपयोग करके आप विकास के समय और बेहतर संगठित कोड की अनुमति देंगे।

क्या आपको PHP फ्रेमवर्क का उपयोग करना चाहिए?

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

यहाँ एक सहायक ग्राफ है:

यहां छवि विवरण दर्ज करें


7

Rasmus Lerdorf के अनुसार , आपको किसी अतिरिक्त फ्रेमवर्क की आवश्यकता नहीं है, क्योंकि PHP स्वयं एक फ्रेमवर्क है। http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html


दोस्तों, मैं एक बहुत बड़ा व्यक्ति हूँ और मैं कोड लिखने की कोशिश कर रहा हूँ, मैं इसके लिए नया हूँ और मैं php का एक मुख्य डेवलपर बनना चाहता हूँ, इसलिए कृपया लोग मुझे सुझाव दें
तैयब गुलशेर वोहरा

3
यह लेख 2006 का है, और यह शर्मनाक है।
जोनाथन रिच

1
@JonathanRich: वह लेख भी पुराना हो सकता है, लेकिन यह अभी भी शर्मनाक है!

4

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

अब, यदि आप डेटाबेस इंटरैक्शन, वेबसर्विस, आदि आदि के साथ एक मध्य / बड़े आकार की साइट की योजना बना रहे हैं, तो आपको विभिन्न तकनीकों के साथ बातचीत करने और अपने कोड को इस तरह व्यवस्थित करने में मदद करने के लिए एक रूपरेखा की आवश्यकता होगी कि जब चीजें टूटती हैं, तो आपके पास होगा। habilitie जल्दी से इसका पता लगाने और मरम्मत करने के लिए। यदि आप ग्राहकों के बारे में सोचते हैं, तो वे हमेशा सॉफ़्टवेयर के बारे में अपना दिमाग बदल रहे हैं, इसलिए यदि क्लाइंट को एक नई सुविधा को संशोधित करने या जोड़ने की आवश्यकता है, तो आपको अपने सभी कोड को गर्त में नहीं रखना चाहिए और यह सोचना चाहिए कि मैं इस नई सुविधा को कैसे प्लग करूं यह स्पगेटी।

दूसरों के बहुत सारे पक्ष और विपक्ष हैं, लेकिन ये वही हैं जिन्होंने सबसे पहले मेरे दिमाग को पार किया।

संपादित करें: मैं दैनिक आधारों में सिम्फनी फ्रेमवर्क का उपयोग करता हूं और विश्वविद्यालय के लिए php के साथ काम भी किया है (मेरे पास वेब विकास के बारे में कुछ पाठ्यक्रम थे जो किसी भी ढांचे का उपयोग करने की अनुमति नहीं देते हैं), इसलिए यह अधिकांश उस अनुभव से आता है।


1
अच्छी तरह से मैं php में एक शुरुआत कर रहा हूँ और अभी तक किसी भी चीज़ को विकसित नहीं किया है और मैं उलझन में हूँ कि मुझे क्या उपयोग करना है और जिसे मुझे वास्तव में जाना चाहिए, मैं पूरी तरह से खाली हूँ
तैयब गुलशेर वोहरा

पहला चरण उनका उपयोग नहीं होगा, प्रौद्योगिकियों को सीखें और वे कैसे काम करें (php, फ्रेमवर्क, js, css, आदि), तो एक बार जब आप php प्रोग्रामिंग के आधार को समझ गए हैं, तो सीखने के लिए Zend या Symfony या CakePHP जैसे ढांचे का उपयोग करें। कैसे अपने अनुप्रयोगों को बढ़ावा देने के
guiman

2

तुम मज़ाक कर रहे, है ना?

आवश्यकता उपयोग पर निर्भर करती है। कंप्यूटर मानव जाति के लिए आवश्यक नहीं हैं, न ही कार आदि।

के रूप में लाभ / नुकसान, प्रत्येक के लिए यह खुद है!

मैं अपने स्वयं के ढांचे से कुछ उदाहरण कोड दिखाना चाहता हूं:

class Product extends DatabaseRow {
    public $name='';
    public $price=0.0;
    public $images=array();
    public $description='';
    public table(){
        return 'products';
    }
}

$p=new Product();
$p->name='Bread';
$p->price=0.5;
$p->images=array('loaf1.jpg','bakery.jpg');
$p->description='Our premium diet bread.';
$p->save();

देखो, वहां मैंने क्या किया था? वह वर्ग एक दुकान के लिए एक मॉडल के रूप में कार्य करता है। OO के अलावा और क्या खास है? यदि तालिका, या कोई स्तंभ मौजूद नहीं है, तो यह गतिशील रूप से बनाया गया है। 0 स्क्रिप्ट स्थापित करें। बेशक, यह मेरे ढांचे में एक विशिष्ट विशेषता है। लेकिन आप विचार समझ गये।


मैं आपको कुछ बात बताना चाहता हूं, वास्तव में मैं 2 चौखटे का उपयोग कर रहा हूं, एक है कोडाइनिटर और दूसरा है yii और मैं एक कोर डेवलपर बनना चाहता हूं लेकिन मेरे OOP कॉन्सेप्ट इतने अच्छे नहीं हैं कि सच्चाई यह है।
तैय्यब गुलशेर वोहरा

$ P-> सेव () पद्धति में 'UPDATE' और 'INSERT' कथन के बीच अंतर कैसे करें?
श्रीसा

@ श्री - मैंने एक आईडी सेट नहीं की। एक अद्यतन करने के लिए, मैं की जरूरत है: के रूप में पूरी पंक्ति को अधिलेखित करने के लिए विरोध के लिए एक पंक्ति मर्ज करने के लिए है। $p=new Product($the_id); $p->load();load()
क्रिश्चियन

2

सभी अनुप्रयोगों को एक रूपरेखा की आवश्यकता नहीं होती है, लेकिन अधिकांश परिणामी होते हैं।

लाभ हैं:

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

नुकसान हैं:

  • हमारा तरीका या कोई तरीका नहीं - आपको फ्रेमवर्क के कठोर सम्मेलनों का पालन करना पड़ सकता है, जो कि आपके कुत्ते के विश्वासों को कैसे प्रभावित कर सकता है कि चीजों को कैसे किया जाना चाहिए (और परिणामस्वरूप आपको क्रोधित करता है)।
  • एक्वायर्ड फ्रेमवर्क सिंड्रोम - आप सरलतम चीजों को प्राप्त करने के लिए चौखटे पर भी निर्भर हो सकते हैं। आप यह भूल जाएंगे कि फ़्रेमवर्क, एक्सेस डेटाबेस, मैप ऑब्जेक्ट्स से लेकर डेटाबेस क्वेरीज़ आदि के बाद से फ्रेमवर्क आपके हाथ में है।

सब सब में, यह एक का उपयोग करने के लिए बेहतर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.