क्या PHP में चौखटे वास्तव में आवश्यक हैं?
एक का उपयोग करने के फायदे और नुकसान क्या हैं?
क्या PHP में चौखटे वास्तव में आवश्यक हैं?
एक का उपयोग करने के फायदे और नुकसान क्या हैं?
जवाबों:
नहीं, लेकिन वे अच्छे हैं।
पेशेवरों : कोड को स्वयं बनाने के लिए समय नहीं बचाता है। सुविधाओं, कार्यों, और डेटा संरचनाओं के असंख्य का उपयोग करें जो किसी और ने बनाया है जो आपकी परियोजना पर लागू होता है।
विपक्ष : कोड का निर्माण न करने से आपके प्रोजेक्ट के संचालन की नींव के बेहतर स्तर पर खुद को नुकसान हो सकता है।
वेब एप्लिकेशन फ्रेमवर्क केवल उतना ही अच्छा है जितना कि आपका अनुभव उनके साथ है।
हर फ्रेमवर्क में एक सीखने की अवस्था होती है, जब तक आप उस वक्र को पार नहीं कर लेते, आप शायद चीजों को इतना आगे पीछे कर देंगे कि आप एक फ्रेमवर्क का उपयोग करने के सभी लाभों को नकार देंगे। आपके एप्लिकेशन को विकसित करने के लिए अनावश्यक रूप से धीमा होगा, कोड का पालन करना मुश्किल होगा और जब फ्रेमवर्क का नया संस्करण जारी किया जाएगा तो पूरी चीज टूट जाएगी। मैं एक तंग समय सीमा वाली परियोजनाओं के लिए एक अपरिचित ढांचे (या किसी भी अपरिचित प्रौद्योगिकी) का उपयोग करने के प्रयास के खिलाफ सिफारिश करूंगा।
चौखटे का उपयोग करने में कैसे बेहतर होता है?
आपको एक मुट्ठी भगवान भयानक अनुप्रयोगों और पुनरावृति का निर्माण करना होगा। आखिरकार आप quirks का पता लगा लेंगे, और एक रूपरेखा का उपयोग करके आप विकास के समय और बेहतर संगठित कोड की अनुमति देंगे।
क्या आपको PHP फ्रेमवर्क का उपयोग करना चाहिए?
हर कोई जो पर्याप्त PHP कोड करता है, अंततः एक फ्रेमवर्क का उपयोग करता है। सवाल यह है कि क्या आप अपने स्वयं के ढांचे का उपयोग करेंगे या किसी तीसरे पक्ष द्वारा विकसित किया जाएगा? मेरे अनुभव में, आप संभवतः अपने स्वयं के ढांचे को कभी विकसित नहीं करेंगे जो तीसरे पक्ष के ढांचे की मजबूती और गुणवत्ता से मेल खाएगा। उस ने कहा, अपने खुद के ढांचे को विकसित करना PHP समुदाय में पारित होने का अधिकार लगता है, इसलिए, मुझे अपने डेटाबेस को अमूर्त वर्ग लिखने से हतोत्साहित न करें।
यहाँ एक सहायक ग्राफ है:
Rasmus Lerdorf के अनुसार , आपको किसी अतिरिक्त फ्रेमवर्क की आवश्यकता नहीं है, क्योंकि PHP स्वयं एक फ्रेमवर्क है। http://toys.lerdorf.com/archives/38-The-no-framework-PHP-MVC-framework.html
खैर, यह वास्तव में आपकी परियोजना के आकार पर निर्भर करता है। बिना किसी डेटाबेस और 10 पृष्ठों से अधिक के साथ एक होमपेज, एक रूपरेखा बहुत अधिक होने जा रही है, मुख्यतः क्योंकि विशिष्ट आवश्यकताओं को फिट करने के लिए फ्रैमवर्क्स को हमेशा ज्यादातर मामलों में बहुत सारे कॉन्फ़िगरेशन और अनुकूलन की आवश्यकता होती है। और कुछ स्थितियों में वे एक फ़ाइल में शामिल कई पृष्ठों की तुलना में थोड़ा धीमा हो सकते हैं (इसकी विशेषताओं का उपयोग करने के लिए सभी ढांचे के बारे में सोचें।)
अब, यदि आप डेटाबेस इंटरैक्शन, वेबसर्विस, आदि आदि के साथ एक मध्य / बड़े आकार की साइट की योजना बना रहे हैं, तो आपको विभिन्न तकनीकों के साथ बातचीत करने और अपने कोड को इस तरह व्यवस्थित करने में मदद करने के लिए एक रूपरेखा की आवश्यकता होगी कि जब चीजें टूटती हैं, तो आपके पास होगा। habilitie जल्दी से इसका पता लगाने और मरम्मत करने के लिए। यदि आप ग्राहकों के बारे में सोचते हैं, तो वे हमेशा सॉफ़्टवेयर के बारे में अपना दिमाग बदल रहे हैं, इसलिए यदि क्लाइंट को एक नई सुविधा को संशोधित करने या जोड़ने की आवश्यकता है, तो आपको अपने सभी कोड को गर्त में नहीं रखना चाहिए और यह सोचना चाहिए कि मैं इस नई सुविधा को कैसे प्लग करूं यह स्पगेटी।
दूसरों के बहुत सारे पक्ष और विपक्ष हैं, लेकिन ये वही हैं जिन्होंने सबसे पहले मेरे दिमाग को पार किया।
संपादित करें: मैं दैनिक आधारों में सिम्फनी फ्रेमवर्क का उपयोग करता हूं और विश्वविद्यालय के लिए php के साथ काम भी किया है (मेरे पास वेब विकास के बारे में कुछ पाठ्यक्रम थे जो किसी भी ढांचे का उपयोग करने की अनुमति नहीं देते हैं), इसलिए यह अधिकांश उस अनुभव से आता है।
तुम मज़ाक कर रहे, है ना?
आवश्यकता उपयोग पर निर्भर करती है। कंप्यूटर मानव जाति के लिए आवश्यक नहीं हैं, न ही कार आदि।
के रूप में लाभ / नुकसान, प्रत्येक के लिए यह खुद है!
मैं अपने स्वयं के ढांचे से कुछ उदाहरण कोड दिखाना चाहता हूं:
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 स्क्रिप्ट स्थापित करें। बेशक, यह मेरे ढांचे में एक विशिष्ट विशेषता है। लेकिन आप विचार समझ गये।
$p=new Product($the_id); $p->load();
load()
सभी अनुप्रयोगों को एक रूपरेखा की आवश्यकता नहीं होती है, लेकिन अधिकांश परिणामी होते हैं।
लाभ हैं:
नुकसान हैं:
सब सब में, यह एक का उपयोग करने के लिए बेहतर है।